我花了一整天的时间试图解决这个问题,并准备好了一些帮助.
我试图让以下代码工作.(由于显而易见的原因,用户和传递被遗漏)我正在从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')
Run Code Online (Sandbox Code Playgroud)
这是我得到的错误:
配置选项'show advanced options'从1更改为1.运行RECONFIGURE语句进行安装.
配置选项'Ad Hoc Distributed Queries'从1更改为1.运行RECONFIGURE语句进行安装.
OLE DB提供程序"SQLNCLI10"用于链接服务器"(null)"返回消息"无效的授权规范".
OLE DB提供程序"SQLNCLI10"用于链接服务器"(null)"返回消息"无效的连接字符串属性".消息7399,级别16,状态1,行3
OLE DB提供程序"SQLNCLI10"用于链接服务器"(null)"报告错误.验证失败.
消息7303,级别16,状态1,行3
无法为链接服务器"(null)"初始化OLE DB提供程序"SQLNCLI10"的数据源对象.
Kev*_*vin 10
雷贝尔先生回答了这个问题.看起来连接字符串必须全部在同一行.
你还需要包括'SET FMTONLY OFF; 并让SP将NOCOUNT设置为ON.
最终答案(连接字符串全部在一行):
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'
,'SET FMTONLY OFF;SET NOCOUNT ON;EXEC sp_MonthlyInventoryStock')
GO
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8935 次 |
| 最近记录: |