mySQL与SQL server 2005链接时的问题

marshallzh 2010-02-07 02:15:42
已经装MYSQL驱动
(从http://dev.mysql.com/downloads/connector/odbc/5.1.html下载了ODBC的驱动。)

还有建ODBC,名字是myDSN,server是localhost。用户名root,密码是abc。

在SQL server Management Studio中,我遇到问题。
建立一个empty query。然后键入:

SP_CONFIGURE 'show advanced options',1
GO
RECONFIGURE
GO
SP_CONFIGURE 'Ad Hoc Distributed Queries',1
GO
RECONFIGURE
GO
SP_CONFIGURE 'show advanced options',0
GO
RECONFIGURE
SELECT *
FROM OPENROWSET('MSDASQL','myDSN';'root';'abc',
'SELECT * FROM imdb.actors')
==============
出现报错:
Msg 7399, Level 16, State 1, Line 2
链接服务器 "(null)" 的 OLE DB 访问接口 "MSDASQL" 报错。提供程序未给出有关错误的任何信息。
Msg 7303, Level 16, State 1, Line 2
无法初始化链接服务器 "(null)" 的 OLE DB 访问接口 "MSDASQL" 的数据源对象。

请问是什么问题?
谢谢了。
...全文
151 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
marshallzh 2010-02-07
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 happyflystone 的回复:]
--建立链接数据库
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的密码'

--查询数据

SELECT * FROM OPENQUERY (MySQLTest ,'select * from 表' )

[/Quote]

试了一下:
EXEC sp_addlinkedserver @server = 'MySQLTest', @srvproduct='MySQL', @provider = 'MSDASQL', @datasrc = 'myDSN'
GO
EXEC sp_addlinkedsrvlogin @rmtsrvname='MySqlTest',@useself='false',@locallogin='sa',@rmtuser='root',@rmtpassword='sa'

--查询数据

SELECT * FROM OPENQUERY (MySQLTest ,'select * from imdb.actors' ) ;

报错:
Msg 15028, Level 16, State 1, Procedure sp_MSaddserver_internal, Line 89
服务器 'MySQLTest' 已存在。
Msg 7399, Level 16, State 1, Line 5
链接服务器 "MySQLTest" 的 OLE DB 访问接口 "MSDASQL" 报错。提供程序未给出有关错误的任何信息。
Msg 7303, Level 16, State 1, Line 5
无法初始化链接服务器 "MySQLTest" 的 OLE DB 访问接口 "MSDASQL" 的数据源对象。
-狙击手- 2010-02-07
  • 打赏
  • 举报
回复
--建立链接数据库
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的密码'

--查询数据

SELECT * FROM OPENQUERY (MySQLTest ,'select * from 表' )

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧