首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过openquery和链接服务器在VS中使用MySQL数据创建VS中的SSRS 2008报表数据集

如何通过openquery和链接服务器在VS中使用MySQL数据创建VS中的SSRS 2008报表数据集
EN

Stack Overflow用户
提问于 2012-08-01 16:36:15
回答 1查看 2.1K关注 0票数 4

我已经成功地在server 2005中创建了一个链接到MySQL数据库的服务器。我需要从VS调用/执行一个MySQL存储过程(在MySQL中刷新表数据),然后为SSRS 2008中的报表创建一个包含这些数据的数据集。

我可以在SSMS查询窗口中运行以下操作,而不存在任何问题:

代码语言:javascript
复制
select * from openquery(myLinkedSrvrname,'call myMySQLprocname')

但是,我无法从VS中的查询设计器窗口运行此语句来创建数据集。它会产生语法错误。有人能建议上述openquery语句的修复方法,或者知道如何从Reporting执行MySQL存储过程来创建数据集吗?

错误码

执行查询时发生错误。ERROR42000ODBC 5.1驱动程序。您的SQL语法出现了错误;对应于MySQL服务器版本的手册在第1行使用正确的语法('myLinkedSrvrname,‘myMySQLprocname’)

EN

回答 1

Stack Overflow用户

发布于 2012-10-04 08:00:21

您可以直接从SSRS创建一个连接(需要在SSRS服务器和开发机器上建立一个ODBC连接) http://dev.mysql.com/downloads/connector/odbc/

2)可以将这个openquery MySQL调用包装在Server存储的proc中。这将使您能够将一个参数从报表传递给Server存储的proc,然后再传递到MySQL存储的proc。但是,它需要在Server proc中使用动态SQL。

如果您使用第一个选项,那么您可能可以直接调用存储的Proc,但我只使用不通过ODBC的Oracle连接来完成该操作,因此SSRS可能会对该选项进行灰色处理。

使用第二个选项,您可能会遇到进一步的问题2跳身份验证,这取决于您正在运行的服务器操作系统。从SSMS调用MySQL proc仅仅是一跳,所以不会出现这个问题。

编辑:很明显,可以将MySQL ADO.NET连接器添加到SSRS:http://www.mazsoft.com/blog/post/2010/11/04/Using-SQL-Server-2008-Reporting-Services-(SSRS)-with-MySQL.aspx

听起来很复杂,但是如果您做了大量的MySQL,它将比使用ODBC更好。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11763734

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档