SQL Server 2008通过LinkServer连接MySQL

时间:2021-12-13 20:23:56

链接过程就不过多描述了,搜索下都有一大堆的内容。

链接成功以后,如何调用的问题,通过“编写select脚本”的方式生成的脚本如下:

【备注:asset_manager是数据库名,admin是表名】

-- [ASSETSERVER].[asset_manager]..[admin] 不包含可以选择的列,或者当前用户不拥有对该对象的权限。
GO

这个脚本是无法执行的,

select * from [ASSETSERVER].[asset_manager]..[admin]

以上脚本也是无法正常执行的
会提示“消息 7313,级别 16,状态 1,第 1 行
为链接服务器 "ASSETSERVER" 的访问接口 "MSDASQL" 指定了无效的架构或目录。”

正确的调用方式如下:

SELECT *
FROM OPENQUERY(ASSETSERVER,'select * from asset_manager.admin')

这样就可以正常查询出结果了
如果要新增记录也是一样

INSERT INTO OPENQUERY(Servername,'select * from DBName.tablename')
SELECT '1'

SELECT *
FROM OPENQUERY(Servername,'select * from DBName.tablename')

UPDATE OPENQUERY(Servername,'select * from DBName.tablename')
SET colname='2'
WHERE colname='1'

SELECT *
FROM OPENQUERY(Servername,'select * from DBName.tablename')

再次觉得一句话真有道理,没文化真可怕!