一尘不染

我是否必须使用OpenQuery从SQL Server查询MySQL链接服务器?

mysql

我正在从SQL Server查询MySQL链接服务器。

我可以使用OpenQuery查询链接的服务器,如以下示例所示。

SELECT * FROM OPENQUERY(MyLinkedServer, 'SELECT * FROM SomeTable')

我尝试使用四部分名称查询链接服务器,如以下示例所示。

SELECT * FROM MyLinkedServer.MyDatabase.DBO.SomeTable

这将返回一个错误,指出“提供程序没有公开使用目录或架构的必要接口”。

有没有不用OpenQuery来查询链接服务器的方法?

谢谢!

更新:根据Shredder的回答,正确的语法如下。

SELECT * FROM MyLinkedServer...SomeTable

阅读 489

收藏
2020-05-17

共1个答案

一尘不染

可以,但是MS建议您使用openquery:

使用此方法,SQL Server可以将命令直接发送到链接的OLAP提供程序,而无需尝试对其进行解析。

你可以看一下例子在这里下的“链接服务器的例子有四部分名称”

另外,我发现了这个

如果收到这些错误消息,则[Linked DB]模式中可能缺少表,或者您对该表没有权限。

我将验证您的mysql数据库是否具有对sql服务器的访问权限。

2020-05-17