ORACLE服务器IP:192.168.1.109
SQL SERVER服务器IP:192.168.1.7ORACLE_HOME\tg4msql\admin 中的initMSSQL.ora文件内容:
# This is a sample agent init file that contains the HS parameters that are
# needed for the Transparent Gateway for SQL Server#
# HS init parameters
#
HS_FDS_CONNECT_INFO="SERVER=192.168.1.7;DATABASE=SZJS_NEW"
HS_FDS_TRACE_LEVEL=OFF
HS_FDS_RECOVERY_ACCOUNT=RECOVER
HS_FDS_RECOVERY_PWD=RECOVERORACLE_HOME\network\ADMIN 中监听程序配置文件内容:SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = E:\oracle\ora92)
      (PROGRAM = extproc)
    )
    (SID_DESC =
      (GLOBAL_DBNAME = ZJGNB)
      (ORACLE_HOME = E:\oracle\ora92)
      (SID_NAME = ZJGNB)
    )
    (SID_DESC =
      (SID_NAME = MSSQL)
      (PROGRAM = tg4msql)
      (ORACLE_HOME = e:\oracle\ora92)
    )    (SID_DESC =
      (GLOBAL_DBNAME = SZJSW)
      (ORACLE_HOME = E:\oracle\ora92)
      (SID_NAME = SZJSW)
    )
  )ORACLE_HOME\network\ADMIN 中tnsnames.ora文件内容:
MSSQL =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SID = MSSQL)
    )
    (HS=MSSQL)
  )DB_link可以建立:
select * from USERINFO@SZJS_SQL.US.ORACLE.COM   在PL/SQL工具中可以查询到数据(USERINFO为SQL SERVER数据库中的操作员表)
但是
select * from USERINFO@SZJS_SQL.US.ORACLE.COM where userid=3 查询时,提示“无效的标识符”!请大虾们帮忙,小弟先谢谢了!!

解决方案 »

  1.   

    问题解决:请在条件列名上加引号,如:
              一般情况下的sql写法:select * from table1@TEST_LOCAL where bit1=1
              有透明网关访问sql server服务器时sql的写法:select * from table1@TEST_LOCAL where "bit1"=1
      

  2.   

    我在建立透明网关是没问题的,但在查询时报这个错误:
    ora-28500:A=s oracle 5=7g oracle 05m3j175;x4kpeo";
    [transparent getwayfor mssql] could not open ms-sql connection
    ora-02063:????2 lines???TEST?我的oracle mssql 透明网关都在一台电脑上.mssql的服务肯定是打开的.为什么会报这个错误呢?大家帮帮忙...