1、创建odbc 系统DNS,测试sqlserver连接通过
2、配置hs odbc($ORACLE_HOME \hs\admin),可从initdg4odbc.org复制一份改名,HS_FDS_CONNECT_INFO
就是第一步创建的DNS名称,HS_FDS_TRACE_LEVEL = OFF
3、添加监听:修改 $ORACLE_HOME\NETWORK\ADMIN\listener.ora :
在SID_LIST 下添加新项:
(SID_DESC = (SID_NAME = HS5)
(ORACLE_HOME = $ORACLE_HOME)
(PROGRAM = dg4odbc)
)
4、重启listener
5、创建dblink
CREATE PUBLIC DATABASE LINK test_sql CONNECT TO "username" identified by "password" using '(DESCRIPTION=
(ADDRESS=(PROTOCOL=tcp)(HOST=xxx.xxx.xxx.xxx)(PORT=1521))
(CONNECT_DATA=(SID=HS5))
(HS=OK)
)';
建议:
1、sqlserver的用户名和密码不要包含oracle的特殊字符,如& u0U等
2、使用时最好创建oracle视图,然后列名全部大写,不然sqlserver过来的列名默认的是区分大小写,不变join或者筛选列时使用
参考:(43条消息) oracle基于odbc建立dblink访问sqlserver_Purpletaro的专栏-CSDN博客