【发布时间】:2016-08-01 23:33:05
【问题描述】:
我花了一整天的时间来解决这个问题,并准备好寻求帮助。
我正在尝试使以下代码正常工作。 (用户和通行证由于明显的原因被排除在外) 我正在从 SSMS 运行查询,并希望获取存储过程的内容并将其放在临时表中。您能否修复我的查询,使其正常工作。 :)
sp_configure 'Show Advanced Options', 1
GO
RECONFIGURE
GO
sp_configure 'Ad Hoc Distributed Queries', 1
GO
RECONFIGURE
GO
SELECT * INTO #MyTempTable FROM OPENROWSET('SQLNCLI', 'Server=SQL01\SQL2008R2;Database=ExtData;
Uid=xxxx;Pwd=xxxx',
'EXEC sp_MonthlyInventoryStock')
这是我得到的错误:
配置选项“显示高级选项”从 1 更改为 1。运行 RECONFIGURE 语句进行安装。
配置选项“Ad Hoc Distributed Queries”从 1 更改为 1。运行 RECONFIGURE 语句进行安装。
链接服务器“(null)”的 OLE DB 提供程序“SQLNCLI10”返回消息“无效的授权规范”。
链接服务器“(null)”的 OLE DB 提供程序“SQLNCLI10”返回消息“无效的连接字符串属性”。消息 7399,第 16 层,状态 1,第 3 行
链接服务器“(null)”的 OLE DB 提供程序“SQLNCLI10”报告错误。身份验证失败。
消息 7303,第 16 层,状态 1,第 3 行
无法为链接服务器“(null)”初始化 OLE DB 提供程序“SQLNCLI10”的数据源对象。
【问题讨论】:
-
对不起...一个错字...它是服务器。刚改了。同样的错误。
-
如果我使用 IP 地址而不是服务器名称,我会得到同样的错误。
-
愚蠢的问题,但是您是否尝试使用 SSMS 连接到远程服务器?
-
这听起来可能很奇怪,但我只能在我的连接字符串跨越多行(如你的)时复制。如果我将
Uid=...与连接字符串的其余部分放在同一行,则不会出现错误。 -
这行得通吗? SELECT * FROM OPENROWSET ('SQLOLEDB', 'Server=SQL01\SQL2008R2; UID=MyUser; PWD=MyPassword', 'SELECT 1')
标签: sql-server