我有 WampServer 运行 WordPress 的本地实例,并且我有 SSRS 在本机模式下运行。
我编写了一个查询 MySQL 数据库的报告,它在 Visual Studio 中运行良好。
但是,如果我启动它,它首先会遇到我的 ODBC 共享数据源的问题,如下所示:
Name of shared data source: localhost.rds
ODBC Connection string: Dsn=localhostuserDSN
该 DSN 是一个用户 DSN(您可能已经猜到了),它使用 MySQL ODBC 5.3 Unicode 驱动程序。它的配置如下:
TCP/IP server: localhost
Port: 3306
User: root
Password: <blank>
Database: wp
经过测试,连接成功,报告工作正常。
但是,在部署时,我收到以下错误:
ERROR [IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified
经过大量研究和拉扯,我终于发现如果我将数据源连接字符串更改为......
Dsn=localhostUserDSN;Driver=MySQL ODBC 5.3 Unicode Driver
...这也有效,至少在部署后,在报告的数据源配置屏幕中连接也会成功。但是,就在我以为我终于走出困境时,我运行报告并收到以下错误消息:
ERROR [3D000] [MySQL][ODBC 5.3(w) Driver][mysqld-5.7.9]No database selected
问题是,我无法指定数据库,或者至少我不知道如何指定。
如果我尝试将连接字符串更改为...
Dsn=localhostUserDSN;Driver=MySQL ODBC 5.3 Unicode Driver;database=wp
...在我按下“测试”按钮之前,它说(空白)密码无效。
如果我在 Visual Studio 中对查询添加“USE [wp]”,它会突然抗议。
我想也许我可以通过把它放在一个存储过程中来解决这个问题,但是由于数据是直接从 MySQL 数据库中查询的,所以我也不能这样做。
(在尝试任何这些之前,我已经尝试将 MySQL 数据库同步/转换为 SQL 数据库,但我一直遇到数据转换问题。)
认为这可能是权限问题,我也尝试过运行......
GRANT ALL ON [wp] TO root@localhost;
...和...
GRANT ALL PRIVILEGES ON [wp] TO root@localhost;
在 SSMS 中,但在这两种情况下,它都说:
Cannot find the object 'wp', because it does not exist or you do not have permission.
我是本地机器上唯一的管理员。我安装了 SQL,它使用 Windows 身份验证,所以我看不出我没有权限,我不得不假设这是语法问题。
我在这里的其他地方看到有人建议'[wp]。*',但它也不喜欢那样。
我整天都在做这件事,而且我已经筋疲力尽了,所以任何建设性的反馈都将不胜感激!