谁能帮我解释下每个字符串都是什么意思,最好用汉字在后面注释上,以便于日后我在设置的时候方便修改!谢谢!我贴出两个!如果那个有不对的请告诉我
EXEC sp_addlinkedserver @server = 'DB2SRV',
   @srvproduct = 'Microsoft OLE DB Provider for DB2',
   @catalog = 'SEATTLE', ‘汉字注释’
   @provider = 'DB2OLEDB',汉字注释’
   @provstr =
     'NetLib=SNA;NetAddr=;NetPort=;RemoteLU=SEATTLE;LocalLU=LOCAL;
      ModeName=QPCSUPP;InitCat=SEATTLE;
      Default Schema=WNW3XX;PkgCol=WNW3XX;TPName=;Commit=YES;
      IsoLvl=NC;AccMode=;CCSID=37;PCCodePage=1252;BinAsChar=NO;
      Data Source=Seattle_WNW3XX'
    上面的每个连接字段都注释下,谢谢
EXEC sp_addlinkedsrvlogin 'DB2SRV', false, 'SQLJoe', 'DB2Joe', 'JoePwd' 汉字注释’EXEC sp_addlinkedserver
   @server='DB2',
   @srvproduct='Microsoft OLE DB Provider for DB2',
   @catalog='DB2',--数据库
   @provider='DB2OLEDB',
   @provstr='Initial Catalog=PUBS;
       Data Source=DB2;
       HostCCSID=1252;
       Network Address=XYZ;--ip
       Network Port=50000;
       Package Collection=admin;
       Default Schema=admin;'       这个和上面的有什么区别,注释下,还有每个连接字符串解释
EXEC sp_addlinkedsrvlogin 'DB2', false, null, '用户名', '密码'

解决方案 »

  1.   

    create procedure sys.sp_addlinkedserver  
     @server   sysname,    -- server name  
     @srvproduct  nvarchar(128) = NULL, -- product name (dflt to ss)  
     @provider  nvarchar(128) = NULL, -- oledb provider name  
     @datasrc  nvarchar(4000) = NULL, -- oledb datasource property  
     @location  nvarchar(4000) = NULL, -- oledb location property  
     @provstr  nvarchar(4000) = NULL, -- oledb provider-string property  
     @catalog  sysname = NULL   -- oledb catalog property  
    as  
     -- VARIABLES  
     declare @retcode int,  
      @srvproduct2 nvarchar(128)  
      
     set @srvproduct2 = @srvproduct  
      
     -- VALIDATE OLEDB PARAMETERS  
     if @provider is null  
     begin  
      -- NO PROVIDER MEANS CANNOT SPECIFY ANY PROPERTIES!  
      if @datasrc is not null or @location is not null or  
       @provstr is not null or @catalog is not null  
      begin  
       raiserror(15426,-1,-1)  
       return (1)  
      end  
      
      -- THIS MUST BE A WELL-KNOWN "SQL Server" TYPE (DEFAULT IS SS)  
      if @srvproduct IS NOT null AND lower(@srvproduct) <> N'sql server'  
      begin  
       raiserror(15427,-1,-1,@srvproduct)  
       return (1)  
      end  
      
      -- USE ALL-NULLS FOR SQL-SERVER PROVIDER  
      select @srvproduct = NULL  
     end  
     else if @srvproduct in (N'SQL Server')  -- WELL-KNOWN PRODUCT  
     begin  
      -- ILLEGAL TO SPECIFY PROVIDER/PROPERTIES FOR SQL Server PRODUCT  
      raiserror(15428,-1,-1,@srvproduct)  
      return (1)  
     end  
     else if @srvproduct is null or lower(@srvproduct) like N'%sql server%'  
     begin  
      raiserror(15429,-1,-1,@srvproduct)  
      return (1)  
     end  
      
     -- DISALLOW USER TRANSACTION  
     set implicit_transactions off  
     if @@trancount > 0  
     begin  
      raiserror(15002,-1,-1,'sys.sp_addlinkedserver')  
      return (1)  
     end  
      
     BEGIN TRANSACTION  
      
     -- ADD THE LINKED-SERVER  
     EXEC @retcode = sys.sp_MSaddserver_internal @server,  
        @srvproduct, @provider, @datasrc, @location, @provstr, @catalog,  
        1, 0   -- @linkedstyle, @localentry  
      
     if( @retcode = 0 )  
     begin  
      -- EMDEventType(x_eet_Create_Linked_Server), EMDUniversalClass(x_eunc_Server), src major id, src minor id, src name  
      -- -1 means ignore target stuff, target major id, target minor id, target name,  
      -- # of parameters, 5 parameters  
      -- Note: we do not pass @provstr since it can contain passwords  
      EXEC %%System().FireTrigger(ID = 225, ID = 102, ID = 0, ID = 0, Value = @server,  
       ID = -1, ID = 0, ID = 0, Value = NULL,   
       ID = 7, Value = @server, Value = @srvproduct2, Value = @provider, Value = @datasrc, Value = @location, Value = NULL, Value = @catalog)  
      
      
      COMMIT TRANSACTION  
      -- SUCCESS  
      return (0) -- sp_addlinkedserver  
     end  
     else if( @retcode = 2 )  
     begin  
      ROLLBACK  
      raiserror(15028,-1,-1,@server);  
      return (1)  
     end  
     else   
     begin  
      ROLLBACK  
      return (1)  
     end  
      
      

  2.   

    ssp2009  非常感谢你的回答,不过告诉你个不幸的消息,我英文不是很好,能用汉字表示吗?谢谢
      

  3.   

    楼主,嘿嘿,这里是传说中的MSSQL版,你问DB2的..细节问题还是跑去DB2问下哈哈...
      

  4.   

    SQL Server链接服务器访问DB2步骤图解