Задний план:
Я получаю данные из базы данных на SQL Server 2008 (SQLA
) к Oracle (ORCLA
). Данные извлекаются с использованием ссылки на базу данных через соединение HS ODBC. И базы данных SQL, и Oracle были 32-разрядными версиями.
Теперь мы переместили базу данных Oracle на более быстрые 64-битные серверы (ORCLB
) 32-битная база данных Oracle осталась в старой системе, и эта система (ORCLA
) по-прежнему использовался как «шлюз» между двумя базами данных. Сегодня 32-битный сервер Oracle (ORCLA
) был списан.
Это нарушило интерфейс между 2. Я попытался настроить соединение HS ODBC на 64-битном сервере Oracle (ORCLB
) Я начал получать указанное выше сообщение об ошибке. При дальнейшем исследовании я обнаружил, что шлюз HS ODBC не поддерживается в 64-битной системе. Поэтому я установил соединение HS ODBC на другом 32-битном сервере Oracle (ORCLC
) что у нас есть. Настройка HS ODBC (слушатели и др.) На 64-битном сервере (ORCLB
) были списаны.
Проблема: я могу пинговать SQLA
, с помощью tnsping
. lsnrctl
показывает, что listNer правильный. Я могу подключиться к базе данных на ORCLC
и получить данные из SQLA
. Однако при попытке получить данные из SQLA
на ORCLB
приводит к появлению вышеуказанного сообщения об ошибке. Понятия не имею, что я могу сделать, чтобы это исправить. Любая помощь будет оценена.
В 32-битных системах используется Oracle 10gR2, в 64-битных версиях используется Oracle 10.2.0.4.
(Простите меня, если я разместил здесь неправильно, я чувствовал, что это скорее проблема на стороне сервера)
Я сломал голову, пытаясь заставить это работать, и был так разочарован ошибками ORA-28545, что просто сдался.
Настройте 32-разрядную установку Oracle на автономном ПК для связи с SQL Server и используйте dblink от 64-разрядного сервера Oracle к 32-разрядному автономному ПК Oracle. Длинный подход? Да, но больше не нужно копаться в журналах, пытаясь понять, почему и где обрывается соединение.