1、环境描述:
1.1 Oracle11g IP地址:127.0.0.1
Oracle根目录:D:\oraclexe\app\oracle\product\11.2.0\server
Oracle端口:1521
SID:xe
1.2 Oracle gateway11 IP地址:127.0.0.1
gateway根目录:D:\oraclexe\app\oracle\product\11.2.0\tg_1
gateway端口:1522
1.3 Sqlserver2005 IP地址:127.0.0.1
数据库名:master
用户名:sa
密码:111
测试表名:test_data
2、相关配置文件如下:
2.1 gateway根目录下相应目录下的配置文件
2.1.1 initdg4msql.ora
HS_FDS_CONNECT_INFO=127.0.0.1/MSSQLSERVER/master
HS_FDS_TRACE_LEVEL=OFF
HS_FDS_RECOVERY_ACCOUNT=sa
HS_FDS_RECOVERY_PWD=111
2.1.2 listener.ora
SID_LIST_LISTENER=
(SID_LIST=
(SID_DESC=
(SID_NAME=dg4msql)
(ORACLE_HOME=D:\oraclexe\app\oracle\product\11.2.0\tg_1)
(PROGRAM=dg4msql)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1522))
)
)
ADR_BASE_LISTENER = D:\oraclexe\app\oracle\product\11.2.0\tg_1
2.1.3 tnsnames.ora
dg4msql =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1522))
)
(CONNECT_DATA =
(SERVICE_NAME = dg4msql)
)
(HS = OK)
)
2.2 oracle根目录下相应目录下的配置文件
2.2.1 listener.ora
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = dg4msql)
(ORACLE_HOME = D:\oraclexe\app\oracle\product\11.2.0\server)
(PROGRAM = dg4msql)
)
)
2.2.2 tnsnames.ora
dg4msql =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1522))
)
(CONNECT_DATA =
(SERVICE_NAME = dg4msql)
)
(HS = OK)
)
3、建立DBlink连接
create public database link MS_LINK
connect to sa identified by "111"
using 'dg4msql';
4、测试:
select * from test_data@MS_LINK
报错如下:

我在网上找了好久,发现很多都是这个错误,但没有得到大神的答复,期待大神出现解决这个困扰了好久的问题?