我在我的计算机 (WinXP) 上安装了 Oracle Server Express 10g。我想使用 ODBC 创建到 Teradata 的数据库链接。我已成功创建(非 ODBC)数据库链接到其他 Oracle 数据库。但是,我似乎无法使 Teradata 数据库链接正常工作。
这是我所做的:
1) 使用 Teradata 的 ODBC 驱动程序版本 13 在 Windows 中创建到 Teradata 的 ODBC 连接。通过使用 Teradata SQL 助手连接到数据库来测试它是否可以工作。称为连接 LPS_PROD_VIEW。我将登录详细信息保存在 ODBC 设置中。
2)编辑listener.ora的SID_LIST_LISTENER部分:
(SID_DESC =
(SID_NAME = LPS_PROD_VIEW)
(ORACLE_HOME = C:\oraclexe\app\oracle\product\10.2.0\server)
(PROGRAM = hsodbc)
在监听器部分
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1524)
3) 在 ...hs\admin\ 文件夹中,添加 initLPS_PROD_VIEW.ora 文件。内容:
HS_FDS_CONNECT_INFO = LPS_PROD_VIEW
HS_FDS_TRACE_LEVEL = ON
4) 在 TNSnames.ora 中添加了一个条目(在 XE 服务器目录和一个单独的 10g 目录中,我之前在安装 Oracle XE 之前拥有)。
BMW =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(Host = localhost)(Port = 1524))
)(CONNECT_DATA =
(SID = LPS_PROD_VIEW)(HS=OK)
)
5)通过services.msc重启Oracle监听服务。
6)连接到本地数据库以创建数据库链接
Create database link TERADATA connect to <username> identified by <password> using 'LPS_PROD_VIEW'
7) 尝试运行查询但得到 ORA-12154: TNS: 无法解析指定的连接标识符。
我究竟做错了什么?HS 是否支持 Teradata ODBC 版本 13?
在此先感谢并感谢您的帮助!