因为工作需求,SSRS需要取到MySql数据源,还好有了ODBC。
谷歌了很多,都是不完整的Solution,放上完整版的供大家评价参考。
下面是StepByStep.
问题1、使用ODBC数据源,填入正确的MySql连接字符串,却显示:ERROR [IM002] [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序.
分析:因为系统没有MySql的驱动,所以ODBC无法解析。需要安装MySql-ODBC。一般MySql都是32位的,因此下载32位MySql-ODBC
地址(里面包含32位和64位的文件):http://dev.mysql.com/downloads/connector/odbc/
注意事项:安装过程中有2个小问题,①选择哪个模式安装,typic和complete这2种安装模式都可以,如果想方便,直接下一步。②进度条几乎不动,不要理他,一会就安装OK。
问题2、安装完成之后,再添加数据源,发现,仍然报错。ERROR [IM002] [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序.
如下图。
分析:出现上述问题在于,我们虽然安装好了驱动,但是还没有通过ODBC引用这个驱动。
Solution:通过ODBC管理器添加对MySql的引用。
注意事项:①64位系统有64位的ODBC管理器和32位的ODBC管理器。
64位的就在:控制面板-->管理工具-->数据源(ODBC)
32位的就在:C:\Windows\SysWOW64\odbcad32.exe
其实我很疑惑的一点,看上面文件夹路径明显是64位的ODBC管理器,但是就是找不到64位的MySql-ODBC驱动。
一定要在32位的ODBC中添加对驱动的引用,否则仍然会报错。
如上图,点击系统DSN-->添加-->安装的MySql的2个驱动(2个都引用)
Data Source Name这个要记住,呆会要引用。
TCP/IP Server:服务器IP;Port:MySql端口号,一般默认,如果您在安装MySql服务端做过改变,就填写更改后的端口号。
User,Password 巴拉巴拉一堆填上去,等填完帐号密码,Database就可以选择您的数据库了。点击Test。弹出OK。大功告成。
同样方法引用好2个驱动。然后回到我们的SSRS中添加数据源。
在连接字符串中填入dsn=(上面的Data Source Name),然后添加数据集,然后字段就出现啦。