1.打开initPUBS.ora文件配置如下:
HS_FDS_CONNECT_INFO="SERVER=zwm;DATABASE=pubs"
HS_FDS_TRACE_LEVEL=OFF
HS_FDS_RECOVERY_ACCOUNT=RECOVER
HS_FDS_RECOVERY_PWD=RECOVER2.监听的配置oracle_home\network\admin\Listiner.ora在监听文件中新加部分
(SID_DESC =
       (GLOBAL_DBNAME =PUBS)
       (PROGRAM = tg4msql)
       (ORACLE_HOME = D:\oracle\ora92)
       (SID_NAME =PUBS)      
)
3.本地服务文件的配置oracle_home\network\admin\TnsNames.ora 新加部分
PUBS=
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST =10.236.6.113)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SID =PUBS)
    )
    (HS = OK)
  )
4.在SQL中创建登录帐号wm口令wm,使用可以访问PUBS数据库。在oracle中创建数据链路
 create database link PUBS connect to WM identified by WM   using 'PUBS'一切配置好以后,在oracle中用select * from [email protected]连接,
出现这样的问题:
ora_28545:连接代理时Net8检测到错误
NCRA:无法执行RSLV连接
ora_02063:紧接着2 lines(PUBS)请各位大侠赶快帮忙,急!急!

解决方案 »

  1.   

    Oracle下配置透明网关访问MS SQL SERVER 配置环境:Oracle服务器:192.168.1.218 Oracle9.2.0.1 for Windows SID:lrdbMS SQL服务器:192.168.1.244 SQL SERVER 2000  要访问的库:lfkf
    1、安装 TRANSPARENT GATEWAY 选件(FOR MSSQL)
       安装完成了以后有这样一个目录 $ORACLE_HOME\ora90\tg4msql 2、 配置 LISTENER.ORA, 在SID_LIST_LISTENER下添加:
       (SID_DESC =
         (GLOBAL_DBNAME = sql2000)         # 可自己命名
         (PROGRAM = tg4msql)
         (SID_NAME = sql2000)              # SID 自己命名
         (ORACLE_HOME = D:\oracle\ora92)
      ) 
    3、 在 oracle_home\ora90\tg4msql\admin
        建文件 init<SID>.ora 由于LISTENER里定义SID为 sql2000
        因此文件名为:initsql2000.ora
        其中内容为:
           HS_FDS_CONNECT_INFO="SERVER=192.168.1.244;DATABASE=lfkf"
           HS_FDS_TRACE_LEVEL=OFF
           HS_FDS_RECOVERY_ACCOUNT=RECOVER
           HS_FDS_RECOVERY_PWD=RECOVER
     4、重启LISTENER
     5、配置 tnsnames.ora   sql2000 = 
         (DESCRIPTION = 
           (ADDRESS_LIST = 
             (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.218)(PORT = 1521)) 
           ) 
           (CONNECT_DATA = 
              (SID = sql2000) 
           ) 
           (HS=OK) 
       ) 6、建立数据库链:
       CREATE DATABASE LINK DB_SQL CONNECT TO sms IDENTIFIED BY linkrich USING 'sql2000';7、完成,测试
       select * from demo@db_sql
    注意:Transparent Gateway for Microsoft SQL Server目前只有NT版本,因此网关程序tg4msql仅包含在
         Oracle Database for windows中。
      

  2.   

    1: 安装 TRANSPARENT GATEWAY 选件(FOR MSSQL)
    安装完成了以后有这样一个目录 oracle_home\ora90\tg4msql2: 配置 LISTENER.ORA
    (SID_DESC =
    (GLOBAL_DBNAME = tg4sql) # 可自己命名
    (PROGRAM = tg4msql)
    (SID_NAME = sql2000) # SID 自己命名
    (ORACLE_HOME = D:\oracle\ora90)
    )3: 在 oracle_home\ora90\tg4msql\admin
    建文件 init<SID>.ora 由于LISTENER里定义SID为 sql2000
    因此文件名为:initsql2000.ora
    其中内容为:
    HS_FDS_CONNECT_INFO=svr1.master # svr1为SQL服务器名
    HS_FDS_TRACE_LEVEL=OFF
    HS_FDS_RECOVERY_ACCOUNT=RECOVER
    HS_FDS_RECOVERY_PWD=RECOVER4: 重启 DATABASE AND LISTENER5: 配置 tnsnames.ora
    tg_sql = 
    (DESCRIPTION = 
    (ADDRESS_LIST = 
    (ADDRESS = (PROTOCOL = TCP)(HOST = SVR1)(PORT = 1521)) 

    (CONNECT_DATA = 
    (SID = sql2000) 

    (HS=OK) 
    ) 6: 建立 DATABASE LINK
    CREATE PUBLIC DATABASE LINK DB_SQL
    CONNECT TO SA IDENTIFIED BY PASSWORD
    USING 'tg_sql'7: 完成,测试
    select * from t_test@db_sql8: 请注意使用 DBLINK 时,INIT.ORA中 GLOBAL_NAME 的设置,
    如果为 ture , 请使用DBLINK的全称,可在 all_db_links 中查到,
    如果为 FALSE, 不必使用全称,当出现 
    “ORA-02019:为找到远程数据库的连接说明”
    时,请使用全称,如:
    select * from t_test@db_sql.US.ORACLE.COM
      

  3.   

    两位大侠啊,我已经试过了,不过还是出现这样的问题:
    ora_28545:连接代理时Net8检测到错误
    NCRA:无法执行RSLV连接
    ora_02063:紧接着2 lines(PUBS)这个问题是什么意思?
      

  4.   

    我的透明网关已经配置成功了,其中在我sqlserver库里面有一个表t_admin,我需要把其中的两个字段的数据导入oracle中,但是select * from t_admin@sql2000 就可以取到所有的数据,而用
    select id,group from t_admin@sql2000就提示id,group为无效字符出现错误,不知道怎么用,难道只有用 * 才行。
      

  5.   

    select "id","group" from t_admin@sql2000
      

  6.   

    谢谢 cenlmmx(学海无涯苦作舟)