我在系统里创建了一个ODBC连接,连接指定的MYSQL,并保存(名字是MySqlDB)。经过测试通过没有问题。
然后我创建了一个LinkServer,选择ODBC,然后在数据源的选项上选择MySqlDB。
然后我调用了一句SQL语句 Select * from MySqlDB.UserDB.dbo.AdminList 测试。
结果报错:
链接服务器"MySqlDB"的 OLE DB 访问接口 "MSDASQL" 返回了消息 "[MySQL][ODBC 3.51 Driver]Access denied for user 'sa'@'192.168.0.225' (using password: YES)"。
消息 7303,级别 16,状态 1,第 1 行
无法初始化链接服务器 "FORUMBBS" 的 OLE DB 访问接口 "MSDASQL" 的数据源对象。我查询了我的ODBC,是可以正常连接的呀。奇怪的是,报错中的'sa'@'192.168.0.225' ,我的Mysql服务器设置正常的应该是'root'@'192.168.0.125',sa是我SQLServer的用户名,'192.168.0.225'是我的本机。我在ODBC里面设置的地址是192.168.0.125 用户名是root。为什么没有使用这个用户登陆呀?
然后我创建了一个LinkServer,选择ODBC,然后在数据源的选项上选择MySqlDB。
然后我调用了一句SQL语句 Select * from MySqlDB.UserDB.dbo.AdminList 测试。
结果报错:
链接服务器"MySqlDB"的 OLE DB 访问接口 "MSDASQL" 返回了消息 "[MySQL][ODBC 3.51 Driver]Access denied for user 'sa'@'192.168.0.225' (using password: YES)"。
消息 7303,级别 16,状态 1,第 1 行
无法初始化链接服务器 "FORUMBBS" 的 OLE DB 访问接口 "MSDASQL" 的数据源对象。我查询了我的ODBC,是可以正常连接的呀。奇怪的是,报错中的'sa'@'192.168.0.225' ,我的Mysql服务器设置正常的应该是'root'@'192.168.0.125',sa是我SQLServer的用户名,'192.168.0.225'是我的本机。我在ODBC里面设置的地址是192.168.0.125 用户名是root。为什么没有使用这个用户登陆呀?
EXEC sp_addlinkedserver @server = 'MySQLTest', @srvproduct='MySQL', @provider = 'MSDASQL', @datasrc = 'myDSN'
GO
EXEC sp_addlinkedsrvlogin @rmtsrvname='MySqlTest',@useself='false',@locallogin='sa',@rmtuser='mysql的用户名',@rmtpassword='mysql的密码'3、查询数据SELECT * FROM OPENQUERY (MySQLTest ,'select * from 表' )--来源网络
消息 7303,级别 16,状态 1,第 3 行
无法初始化链接服务器 "FORUMBBS" 的 OLE DB 访问接口 "MSDASQL" 的数据源对象。一样报错。