日期:2014-05-17  浏览次数:20522 次

通过SQLServer访问MYSQL数据库内信息
两个服务器A和B之间是可以ping通的。A上安装的是SQLServer2000,B上是MYSQL5.0。操作系统都是windows server2003  32位的。
我在B上安装了“mysql驱动程序_mysql-connector-odbc-5.1.6-win32.msi” ,A上sp_configure开启了“Ad Hoc Distributed Queries”
然后在A上SSMS上执行以下语句:

SELECT * FROM 
OPENROWSET(
'MSDASQL','DRIVER={MySQL ODBC 5.1 Driver}
;SERVER= B主机IP地址
;PORT=3306
;DATABASE=MYSQLDB名称
;USER=root
;PASSWORD=root密码
;STMT=set names gb2312
;OPTION=2049',show tables;')  

报错内容如下:

链接服务器"(null)"的 OLE DB 访问接口 "MSDASQL" 返回了消息 "[Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序"。
Msg 7303, Level 16, State 1, Line 1
无法初始化链接服务器“(null)”的 OLE DB 访问接口“MSDASQL”的数据源对象。

各位大神,看下我缺了什么东西不。

------解决方案--------------------
mysql中建aa表

SELECT * FROM 
OPENROWSET(
'MSDASQL','DRIVER=MySQL ODBC 5.1 Driver;UID=root;PORT=3306;DATABASE=test;SERVER=localhost;password=xxxx','select * from `aa`')