给公司开发一个系统,用sql2000作为数据库。现在的系统用到了公司原先有其他两个应用系统数据库中的某些表,为了节省人力,我想把这两个数据库中表作为本系统数据库中的表,该如何实现?
  我只是对原先数据库中的表具有查询,不需要更改里面的数据。
  好象可通过sql2000的链接服务器功能和DTC来实现,不只具体该如何做。
  如:
  我现在的系统的数据库名字为JXDC,想调用另一台服务器上的数据库ERP,具体怎么设置,望高手指教,谢谢了

解决方案 »

  1.   

    FROM JXDC.dbo.[table1] AS t1 INNER JOIN 
       OPENROWSET('MSDASQL',
       'DRIVER={SQL Server};SERVER=server2;UID=sa;PWD=sa',ERP.dbo.[table2]) 
       AS t2
       ON t1.column1 = t2.column1server2 是数据库ERP的服务器
      

  2.   

    或者直接查询:
    select * from OPENROWSET('MSDASQL',
       'DRIVER={SQL Server};SERVER=server2;UID=sa;PWD=sa',ERP.dbo.[table2]) 
      

  3.   

    openrowset的具体语法是:
    OPENROWSET ( 'provider_name',{ 'datasource' ; 'user_id' ; 'password'        | 'provider_string' } ,{ [ catalog.] [ schema.] object| 'query' } ) 'provider_name'字符串,它代表在注册表中指定的 OLE DB 提供程序的友好名。provider_name 没有默认值。'datasource'字符串常量,它对应着某个特定的 OLE DB 数据源。datasource 是将被传递到提供程序 IDBProperties 接口以初始化提供程序的 DBPROP_INIT_DATASOURCE 属性。通常,这个字符串包含数据库文件的名称、数据库服务器的名称,或者提供程序能理解的用于查找数据库的名称。 'user_id'字符串常量,它是传递到指定 OLE DB 提供程序的用户名。user_id 为连接指定安全上下文,并将它作为 DBPROP_AUTH_USERID 属性传递进来以初始化提供程序。'password'字符串常量,它是将被传递到 OLE DB 提供程序的用户密码。当初始化提供程序时,将 password 作为 DBPROP_AUTH_PASSWORD 属性传递进来。'provider_string'提供程序特定的连接字符串,将它作为 DBPROP_INIT_PROVIDERSTRING 属性传递进来以初始化 OLE DB 提供程序。通常 provider_string 封装初始化提供程序所需的所有连接信息。catalog目录或数据库的名称,其中驻留着指定的对象。schema架构的名称或指定对象的对象所有者名称。object对象名称,它唯一地标识出将要操作的对象。
    联机丛书上都有啊~  你怎么不去搜索下呢?郁闷~~~~~