SQL2005跨库查询问题?

fengxujian 2009-09-17 05:42:32
我写了个存储过程:
CREATE PROCEDURE [dbo].[P_SettlePrc]
--@IP:服务器ip @UID:数据库用户 @PW:数据库密码 @cDBName:数据库名
@IP nvarchar(50), @UID nvarchar(100),@PW nvarchar(100),@cDBName nvarchar(20),
AS
BEGIN

SET NOCOUNT ON;

declare @Server nvarchar(1000)
declare @SQL nvarchar(1000)

Set @Server='''SQLOLEDB'',''DRIVER={SQL Server};SERVER='+@IP+';UID='+@UID+';PWD='+@PW+';'''
set @Server='OPENDATASOURCE('+@Server+').'+@cDBName

exec sp_configure 'show advanced options',1
reconfigure
exec sp_configure 'Ad Hoc Distributed Queries',1
reconfigure

set @SQL='SELECT * From '+@Server+'.dbo.Vendor'
exec(@SQL)

exec sp_configure 'Ad Hoc Distributed Queries',0
reconfigure
exec sp_configure 'show advanced options',0
reconfigure

END

在查询分析器里 exec P_SettlePrc 'fengxujian','sa','123','pub' 运行通过
但是vb调用该过程是确提示:
配置选项 'show advanced options' 从 0 改为 1。请运行 RECONFIGURE 语句以安装。
请高手指点,vb中如何调用?如不能调用,sql2005还有别的跨库查询的方法吗?
...全文
63 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
SQL77 2009-09-17
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 fengxujian 的回复:]
运行通过了,
把SET NOCOUNT ON 改为SET NOCOUNT off
[/Quote]
原来你后面都没有OFF呀,晕
fengxujian 2009-09-17
  • 打赏
  • 举报
回复
运行通过了,
把SET NOCOUNT ON 改为SET NOCOUNT off
SQL77 2009-09-17
  • 打赏
  • 举报
回复
'show advanced options' 从 0 改为 1。请运行 RECONFIGURE 语句以安装

你自己用SP_CONFIG配置一下
soft_wsx 2009-09-17
  • 打赏
  • 举报
回复
到VB去问吧!

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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