Ссылка базы данных Oracle XE на Teradata с использованием ODBC
Я установил Oracle Server Express 10g на свой компьютер (WinXP). Я хочу создать ссылку на базу данных Teradata, используя ODBC. Я успешно создал (не ODBC) ссылки на базы данных на другие базы данных Oracle. Однако я не могу заставить работать ссылку на базу данных Teradata.
Вот что я сделал:
1) Создано соединение ODBC в Windows с Teradata с использованием версии 13 драйвера ODBC Teradata. Протестировано, что оно работает путем подключения к базе данных с помощью Teradata SQL Assistant. Вызывается соединение 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) Перезапущены службы прослушивателя Oracle через services.msc.
6) Подключен к локальной базе данных, чтобы создать ссылку на базу данных, выполнив
Create database link TERADATA connect to <username> identified by <password> using 'LPS_PROD_VIEW'
7) Попытка выполнить запросы, но получить ORA-12154: TNS: не удалось разрешить указанный идентификатор подключения.
Что я делаю неправильно? Поддерживает ли HS Teradata ODBC ver 13?
Заранее благодарим и ценим вашу помощь!
2 ответа
Я думаю, что 1524 для сервера Oracle, поэтому вы должны изменить это. Teradata использует порт 1025.
Вы можете посмотреть пошаговый пример здесь:
http://carlosal.wordpress.com/2009/06/18/heterogeneous-services-sql-a-teradata-desde-oracle/
НТН.
Приветствия.
Карлос.