无法初始化链接服务器 "(null)" 的 OLE DB 访问接口 "SQLNCLI10" 的数据源对象。求解决%>_<%

feixuyue 2011-09-28 10:45:39
写了个远程数据库同步的小程序;
写到下面代码的时候:
exec sp_configure 'show advanced options',1
go
reconfigure
go
exec sp_configure 'Ad Hoc Distributed Queries',1
go
reconfigure
go
use MonitorProject
go
insert Into OpenDataSource
('SQLOLEDB',
'Data Source=HHH-PC\SQLEXPRESS;
Initial Catalog=MonitorProject;
Integrated Security=True;
Persist Security Info=False').MonitorProject.dbo.ProjectInfo
select * From ProjectInfo where [ProjectName] ='Test'


就有错误,但我有找不出错误在哪里;
在前面我还有过opendatasource能用的,不知道为什么现在不能用了,本地和远程的sql实例都在本机上...

错误提示:配置选项 'show advanced options' 已从 1 更改为 1。请运行 RECONFIGURE 语句进行安装。
配置选项 'Ad Hoc Distributed Queries' 已从 1 更改为 1。请运行 RECONFIGURE 语句进行安装。
消息 7303,级别 16,状态 1,第 1 行
无法初始化链接服务器 "(null)" 的 OLE DB 访问接口 "SQLNCLI10" 的数据源对象。
...全文
3856 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
dawugui 2011-09-29
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 feixuyue 的回复:]
怎么更换端口啊
[/Quote]服务器网络实用工具-->常规-->启用的协议-->TCP/IP-->属性-->默认端口
feixuyue 2011-09-29
  • 打赏
  • 举报
回复
怎么更换端口啊
feixuyue 2011-09-29
  • 打赏
  • 举报
回复
Insert Into OPENDATASOURCE(
'SQLOLEDB',
'Data Source=HHH-PC\SQLEXPRESS;User ID=sa;Password=123'
).MonitorProject.dbo.ProjectInfo
Select * From ProjectInfo where [ProjectName] ='Test'


威慑么这样就没有错呢
feixuyue 2011-09-29
  • 打赏
  • 举报
回复
我没用到tcp/ip协议,我用的时sharememory协议啊
dawugui 2011-09-29
  • 打赏
  • 举报
回复
我建议你把其中一个的实例其端口更换一下,然后再试.
feixuyue 2011-09-28
  • 打赏
  • 举报
回复
错误一样的
[Quote=引用 2 楼 qianjin036a 的回复:]
你本机有两个实例?
先试试这个,看有没有返回结果集:

SQL code

select * from OpenDataSource
('SQLOLEDB.1',
'Data Source=HHH-PC\SQLEXPRESS;
Initial Catalog=MonitorProject;
Integrated Security=True;
Persist Security I……
[/Quote]
feixuyue 2011-09-28
  • 打赏
  • 举报
回复
一开始 TurnOffRpcSecurity为0
在 MSDTC 选项卡中,确保选中了下列选项:
这一步:
只有默认本地协调器,(我是win7的)
-晴天 2011-09-28
  • 打赏
  • 举报
回复
你本机有两个实例?
先试试这个,看有没有返回结果集:
select * from OpenDataSource
('SQLOLEDB.1',
'Data Source=HHH-PC\SQLEXPRESS;
Initial Catalog=MonitorProject;
Integrated Security=True;
Persist Security Info=False').MonitorProject.dbo.ProjectInfo
--小F-- 2011-09-28
  • 打赏
  • 举报
回复
查看一下MSDTC啟動是否正確



1、运行 regedt32,浏览至 HKEY_LOCAL_MACHINE\Software\Microsoft\MSDTC。
添加一个 DWORD 值 TurnOffRpcSecurity,值数据为 1。
2、重启MS DTC服务。
3、打开“管理工具”的“组件服务”。
a. 浏览至"启动管理工具"。
b. 选择"组件服务"。
c. 展开"组件服务"树,然后展开"我的电脑"。
d. 右键单击"我的电脑",然后选择"属性"。
在 MSDTC 选项卡中,确保选中了下列选项:
网络 DTC 访问
网络管理
网络事务
XA 事务
另外,"DTC 登录帐户"一定要设置为"NT Authority\NetworkService"。
4、重启MS DTC服务。
5、再次运行 regedt32,浏览至 HKEY_LOCAL_MACHINE\Software\Microsoft\MSDTC,然后删除 TurnOffRpcSecurity 项。在查看一下sp_serveroption命令有鏈接服務器的選項說明



22,210

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧