从内部部署的SQL Server使用OpenRowSet连接到SQL Azure数据库

时间:2016-03-25 19:40:39

标签: sql oledb azure-sql-database

我正在尝试使用openrowset从内部部署的SQL Server连接到SQL Azure数据库,但它失败并出现错误。

我的查询是

SELECT a.* 
FROM OPENROWSET('SQLNCLI', 'Server=sqlazureserver.database.windows.net;Database=dbname;User ID=username;Password=password;Connection Timeout=30;', 'select * from [dbo].[tablename]') AS a;

我得到的错误:

  

Msg 7399,Level 16,State 1,Line 11
  链接服务器“(null)”的OLE DB提供程序“SQLNCLI11”报告错误。身份验证失败   Msg 7303,Level 16,State 1,Line 11
  无法为链接服务器“(null)”初始化OLE DB提供程序“SQLNCLI11”的数据源对象。

我能够使用链接服务器成功连接,但我不想走那条路,因为我的连接字符串是动态的。

2 个答案:

答案 0 :(得分:1)

从文档中,我可以看到截至目前,SQL Azure数据库不支持开放行集。

enter image description here

您可以使用分布式查询来完成相同的

,而不是使用openrowset
exec ('select * from table') at linkedserver

答案 1 :(得分:0)

检查this。适合我。 on onmm SQL添加到Azure SQL为链接。