先看错误信息,如下:
链接服务器"hr"的 OLE DB 访问接口 "MSDASQL" 返回了消息 "[Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序"。
消息 7303,级别 16,状态 1,第 1 行
无法初始化链接服务器 "hr" 的 OLE DB 访问接口 "MSDASQL" 的数据源对象。
问题说明:
1、建立odbc已经成功
2、创建连接服务器并未报错
3、使用链接服务器查询数据时报错
4、错误信息中的“未发现数据源名称”不知道是为什么,odbc的数据源名称并没有写错
5、错误信息中的“未指定默认驱动程序”不知道是什么意思,在odbc中已经指定了mysql的驱动版本为8.0 Unicode,而在创建链接服务器时,创建的也是for odbc drivers
6、sqlserver版本是2008 r2
7、系统版本是server2008 r2
8、mysql版本未知,由客户提供
9、mysql驱动安装的64位,版本为8.0
各位看到的大佬,如果觉得不够清晰,还需要更详细的信息,请留言
创建链接服务器的代码如下:
[code=sql]
EXEC master.dbo.sp_addlinkedserver
@server = N'hr2',
@srvproduct=N'hr2',
@provider=N'MSDASQL',
@datasrc=N'mysqldb'--odbc的名称
EXEC master.dbo.sp_addlinkedsrvlogin
@rmtsrvname=N'hr2',
@useself=N'False',
@locallogin=NULL,
@rmtuser=N'emap',
@rmtpassword='emap'--MySql登陆账号(root)密码
[/code]
https://www.mssqltips.com/sqlservertip/4570/access-mysql-data-from-sql-server-via-a-linked-server/ 这个有具体的步骤,看说明好像你的配置有些差异
你给的文档和我的设置是一样的,我找到了相关文档,但是还没测试,我把链接发给你看下,其中最后一步在链接服务器哪里设置驱动,这个才是我没有做的
http://sql-articles.com/articles/dba/creating-linked-server-to-mysql-from-sql-server/
@我要找到我的全世界: 谢谢,帮助解决了