1. 添加ODBC数据源
将本机上数据库(或calog远程数据库)ODBC数据源配置出来,并测试连接。此处建数据源名称为:mydb2
2. 配置initmydb2.ora
# This is a sample agent init file that contains the HS parameters that are
# needed for an ODBC Agent.
#
# HS init parameters
#
HS_FDS_CONNECT_INFO = mydb2 #数据源名称
HS_FDS_TRACE_LEVEL = off
#
# Environment variables required for the non-Oracle system
#
#set
3. 配置listener.ora
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = F:\oracle\product\10.2.0\db_1)
(PROGRAM = extproc)
)
(SID_DESC =
(ORACLE_HOME = F:\oracle\product\10.2.0\db_1)
(SID_NAME = mydb2) #这里的sid_name必须与tnsnames.ora里的sid保持一致
(PROGRAM = hsodbc)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = haha)(PORT = 1521)) #本机ip地址或者机器名
)
)
4. 配置tnsname.ora
ORACLE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = haha)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = oracle)
)
)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)
db2test=
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = haha)(PORT = 1521))
)
(CONNECT_DATA =
(sid = mydb2) #这里的sid必须与listener.ora里的sid_name保持一致
)
(hs=ok)
)
5. 创建DBLINK,测试连接
Create database link db2test connect to “user_name” identified by "user_pwd" using 'db2test;
6. 如果查询出错,比如驱动找不到或者类似错误,那么服务里面,tns的登录名修改为当前用户的。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/23239992/viewspace-626079/ ,如需转载,请注明出处,否则将追究法律责任。