Oracle Generic DB Link не работает - PullRequest
1 голос
/ 25 июня 2009

Я пытаюсь использовать драйвер ссылки на общую базу данных oracle hsodbc для доступа к базе данных postgresql с моего сервера базы данных oracle 10gr2. Я думаю, что у меня все настроено, но я получаю эту ошибку из приглашения sqlplus после попытки удаленного запроса.

SQL> select * from temp_user@intranet;
select * from temp_user@intranet
                        *
ERROR at line 1:
ORA-28545: error diagnosed by Net8 when connecting to an agent
Unable to retrieve text of NETWORK/NCR message 65535
ORA-02063: preceding 2 lines from INTRANET

Если я использую «isql» из командной строки linux (другими словами, проверяю только соединение odbc), запрос работает.

Я вхожу в "isql intranet" (интранет - это имя соединения odbc) Я получаю приглашение набрать select * from temp_user и получаю обратно 157 записей на экране.

Итак, я знаю, что конфигурация odbc настроена правильно. Вот что я делаю для оракула. ​​

%oracle_home/hs/admin/inithsodbc.ora
HS_FDS_CONNECT_INFO = intranet
HS_FDS_TRACE_LEVEL = OFF
HS_FDS_SHAREABLE_NAME = /usr/bin/ODBCConfig
%oracle_home/network/admin/tnsnames.ora
INTRANET =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.5.1)(PORT = 5432))
    )
    (CONNECT_DATA =
      (SID = INTRANET)
    )
    (HS = OK)

%oracle_home/network/admin/listener.ora
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = INTRANET)
      (PROGRAM = hsodbc)
      (SID_NAME = INTRANET)
      (ORACLE_HOME = /home/oracle/app/OraHomeTEST)
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = oracledb.andersen-const.com)(PORT = 5432))
    )
  )

Я перезапустил слушателя. Это состояние выглядит следующим образом.

Services Summary...
Service "INTRANET" has 1 instance(s).
  Instance "INTRANET", status UNKNOWN, has 1 handler(s) for this service...

Затем я вхожу в sqlplus из командной строки сервера базы данных и делаю следующее.

drop database link intranet;

создать ссылку на базу данных, подключиться к интрасети с пользователем, идентифицированным по apassword с использованием интранета;

Это успешно.

Однако, когда я бегу

 select * from temp_user@intranet

получаю ошибку

ERROR at line 1:
ORA-28545: error diagnosed by Net8 when connecting to an agent
Unable to retrieve text of NETWORK/NCR message 65535
ORA-02063: preceding 2 lines from INTRANET

Я провел хотя бы хороший день, возвращаясь к конфигурациям и пробуя что-то, и я всегда получаю эту ошибку.

У кого-нибудь есть хорошие идеи,

1 Ответ

1 голос
/ 25 июня 2009

О чем сообщает "tnsping intranet"?

Вы уверены, что ваша программа hsodbc находится в каталоге Oracle_home / bin вашей установки шлюза? Кроме того, правильно ли установлен LD_LIBRARY_PATH?

Я считаю, что ваш LD_LIBRARY_PATH должен быть $ ORACLE_HOME / lib. Извините, не уверен, так как в эти дни я ничего не делаю с * Никсом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...