以Win11为例
控制面板 → 查看方式 → 大图标→ Windows工具
→ ODBC数据源
→ 系统DSN
→ 系统DSN → 配置MySQL对应数据
→ 添加链接服务器 → 程序为OLE DB for ODBC
或者使用命令
EXEC sp_addlinkedserver
@server='test', --odbc实例名,随意写
@srvproduct = 'mysql', --MYSQL的数据库名
@provider = 'MSDASQL',--sqlserver 驱动
@datasrc = 'test', --保持与步骤1 创建的实例一致
@location = null
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname = N'test',@useself = N'False',@locallogin = N'sa',@rmtuser = N'root',@rmtpassword = N'root'
--rmtuser为MySQL用户名
--rmtpassword为MySQL用户密码
--查看已经添加的链接服务器和登录角色信息
select * from sys.linked_logins
select * from sys.servers
exec sp_dropserver 'test', 'droplogins ' --删除
例查询
select * from OPENQUERY(TEST,'select * from pre_common_member')
有如下错误 (消息7347,级别16,状态1 )
例
select * from OPENQUERY(TEST,'select * from pre_ucenter_members')
解决方案
--使用cast函数转换
select * from OPENQUERY(TEST,'select uid,cast(username as char),password from pre_ucenter_members')