exec('bbs.dvbbs.dbo.proc_UserReg ''+@UserID+'', ''+@PassWord+'', ''+@Sex+'', ''[127.0.0.1]''')

解决方案 »

  1.   

    Distributed Transaction Coordinator服务是否启动?
      

  2.   

    exec ('bbs.dvbbs.dbo.proc_UserReg ''' + @UserID + ''', ''' + @PassWord + ''', ''' + @Sex + ''', ''127.0.0.1''')
      

  3.   

    exec ('bbs.dvbbs.dbo.proc_UserReg '''+@UserID+''', '''+@PassWord+''', '''+@Sex+''', ''127.0.0.1''')
      

  4.   

    是不是应该在asp.net/ado.net里想办法啊?
      

  5.   

    应该是单引号个数的问题吧exec ('bbs.dvbbs.dbo.proc_UserReg '''+@UserID+''', '''+@PassWord+''', '''+@Sex+''', ''127.0.0.1''')
      

  6.   

    给个建议,先别关注存储过程,你应该先测试一下你的远程连接建立成功没有!我给你个建立远程连接的例子。使用sql-server进行分布式查询(链接服务器) 
    可以使用sql-server企业管理器进行建立,注意其中的rpc及rpc out两项,也可以使用sql语句来完成定义,主要涉及到三个存储过程
    sp_addlinkedserver,sp_serveroption和sp_addlinkedsrvlogin,以下是三个存储过程的语法:sp_addlinkedserver
    创建一个链接的服务器,使其允许对分布式的、针对 OLE DB 数据源的异类查询进行访问。在使用 sp_addlinkedserver 创建链接的服务器之后,此服务器就可以执行分布式查询。如果链接服务器定义为 Microsoft? SQL Server?,则可执行远程存储过程。
    语法
    sp_addlinkedserver [ @server = ] 'server'
    [ , [ @srvproduct = ] 'product_name' ]
    [ , [ @provider = ] 'provider_name' ]
    [ , [ @datasrc = ] 'data_source' ]
    [ , [ @location = ] 'location' ]
    [ , [ @provstr = ] 'provider_string' ]
    [ , [ @catalog = ] 'catalog' ]
    例如:sp_addlinkedserver 'ServerName','','SQLOLEDB','dbconn',null,'driver={sql server};server=192.168.1.181;uid=sa,pwd=;'
    此处ServerName为自定义名称,dbconn为定义的odbc数据源一般使用的参数如下:
    @server “LINKED SERVER”
    @srvproduct “Product name”
    @provider “Provider”
    @datasrc “Data source”
    二、设置服务器选项
    使用 sp_serveroption 过程,所要使用的参数如下:
    @server “Linked server” 
    @optname “RPC”或“RPC OUT”
    @optvalue True 或 False
    三、添加Login
    使用 sp_addlinkedsrvlogin 过程,所要使用的参数如下:
    @rmtsrvname “Linked server”
    @useself True 或 False
    @locallogin 本地LOGIN
    @rmtuser 远程用户 
    @rmtpassword 远程用户口令全部完整的示例如下:
    exec sp_helpserver /*---查看远程服务器的列表-------*/ exec sp_helplinkedsrvlogin /*------查看远程服务器的登录用户---------*/exec sp_droplinkedsrvlogin 'sestlserver',null /*----删除远程服务器的登录用户-----*/
    exec sp_dropserver 'sestlserver','droplogins'/*-----删除远程服务器------*/EXEC sp_addlinkedserver 'sestlserver','','SQLOLEDB','sestlserver',null,'driver={sql server};server=192.168.0.2;uid=sa,pwd=tianqibuhao;'
    exec sp_serveroption N'sestlserver', N'rpc out', N'true' 
    exec sp_serveroption N'sestlserver', N'rpc', N'true'
    exec sp_addlinkedsrvlogin 'sestlserver','False',null,'sa','tianqibuhao'
    /*------建立一个远程的连接服务器---------*//*---在远程服务器上建立一个表----*/
    create table tb2
    (学号 int,科目 varchar(20),成绩 int)学号     科目    成绩 
    ----------- ---------- ----------- 
    6      政治    50
    6      英语    70
    7      语文    80
    7      数学    90
    7      英语    71/*---在本地服务器上建立一个表----*/
    create table tb1
    (学号 int,科目 varchar(20),成绩 int)学号     科目    成绩 
    ----------- ---------- ----------- 
    1      语文    60
    1      数学    70
    1      英语    75
    1      政治    60
    2      语文    55
    2      数学    53
    2      英语    71
    3      语文    80
    4      数学    0
    5      英语    91/*---在本地服务器上建立一个分布视图----*/
    creat view student as
      select * from tb1
    union all
      select * from sestlserver.test.dbo.tb2/*---查询分布视图----*/
    select * from student学号     科目    成绩 
    ----------- ---------- ----------- 
    1      语文    60
    1      数学    70
    1      英语    75
    2      语文    55
    2      数学    53
    2      英语    71
    3      语文    80
    4      数学    0
    5      英语    91
    1      政治    60
    6      政治    50
    6      英语    70
    7      语文    80
    7      数学    90
    7      英语    71
      

  7.   

    我把这句存储过程在查询分析器里调用是没有问题的:
    bbs.dvbbs.dbo.proc_UserReg 'uuuuuu','uuuuuu',1,'127.0.0.1'
    但放入这个程序里就出错!!!!!!!!!!!!!!!!!!
      

  8.   


    exec('bbs.dvbbs.dbo.proc_UserReg '''+@UserID+''', '''+@PassWord+''', '''+@Sex+''', ''[127.0.0.1]''')
      

  9.   

    ('bbs.dvbbs.dbo.proc_UserReg '''+@UserID+''', '''+@PassWord+''', '''+@Sex+''', ''[127.0.0.1]''')不要老往这句话想,想想别的办法,那位高手帮我试一下啊????????????
    或者用asp.net中的事务处理,只要能解决就好啊!!!!!!!
      

  10.   

    在.net 下用com+搞定,
    而且据说链接服务器问题很多,所以建议大家不要用哦。
    多谢大家参与讨论