使用来自本地 SQL 服务器的 OpenRowSet 连接到 SQL Azure 数据库
Connect to SQL Azure DB using OpenRowSet from on-premise SQL Server
我正在尝试使用 openrowset
从本地 SQL 服务器连接到 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
The OLE DB provider "SQLNCLI11" for linked server "(null)" reported an error. Authentication failed.
Msg 7303, Level 16, State 1, Line 11
Cannot initialize the data source object of OLE DB provider "SQLNCLI11" for linked server "(null)".
我能够使用链接服务器成功连接,但我不想走那条路,因为我的连接字符串是动态的。
从文档中,我可以看到 SQL Azure 数据库目前不支持开放行集。
您可以使用分布式查询代替 openrowset 来完成同样的事情
exec ('select * from table') at linkedserver
我正在尝试使用 openrowset
从本地 SQL 服务器连接到 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
The OLE DB provider "SQLNCLI11" for linked server "(null)" reported an error. Authentication failed.
Msg 7303, Level 16, State 1, Line 11
Cannot initialize the data source object of OLE DB provider "SQLNCLI11" for linked server "(null)".
我能够使用链接服务器成功连接,但我不想走那条路,因为我的连接字符串是动态的。
从文档中,我可以看到 SQL Azure 数据库目前不支持开放行集。
您可以使用分布式查询代替 openrowset 来完成同样的事情
exec ('select * from table') at linkedserver