2013-06-25 4 views
0

Недавно я выбрал проект, в котором мне нужно собрать некоторые пакеты SSIS, которые извлекают данные из удаленной базы данных Oracle и загружают данные в базу данных Sql Server. База данных Oracle - это старая 32-разрядная база данных Oracle 8i. Сервер Sql - это 64-разрядный Sql Server 2008R2.Подключение к базе данных Oracle

Я могу подключиться к базе данных Oracle со старой рабочей станции Win XP без проблем. Когда я пытаюсь подключиться к серверу Sql, я не могу установить рукопожатие.

Я установил Oracle Client 11g в поле Sql Server, скопировал файл tnsnames из папки Install \ Network \ Admin \ Sample для установки \ Network \ Admin и добавил запись, которая работала на рабочей станции XP. Когда я пытаюсь создать соединение ODBC с помощью Oracle ODBC Drviver, я получаю:

* Невозможно подключиться Sql State = 08004 ORA-12154: TNS:. Не может решить идентификатор подключения, указанный * 1

Мои Угадайте, что драйвер не может найти файл TNS. Есть что-то еще, что мне нужно настроить? Я проверил код исключения через duckduckgo, и я ничего не смог найти.

Заранее спасибо.

ответ

0

В качестве конфигурации вашего компьютера вы должны использовать либо 64-разрядную, либо 32-разрядную бит. Убедитесь, что ваша конфигурация сервера верна.

0

ОК, я нашел его Мне пришлось перейти в переменные окружения и определить путь ORACLE_HOME. Как только я это сделал, он подключился.

This пост получил меня на правильном пути.

Благодаря

0

Это может помочь кому-то застрял на «идентификатор не решен вопрос»: Если вы уже проверили переменные окружения: PATH, ORACLE_HOME, TNS_ADMIN, пожалуйста, дать внимательно посмотреть на tnsnames.ora запись для учитывая dsn. Я не дал должным отступ, и из-за этого он терпел неудачу!

Вот запись с точной отступа:

<dsn> = 
    (DESCRIPTION = 
    (ADDRESS = (PROTOCOL = TCP)(HOST = <server>)(PORT = <port>)) 
    (CONNECT_DATA = 
     (SERVER = DEDICATED) 
     (SERVICE_NAME = <servicename>) 
    ) 
) 
0

У меня была аналогичная проблема, когда я получаю мусор в списке имен TNS Services и тестирование соединения принял навсегда. Я обнаружил, что это было оговорено в параметре переменной среды системы для переменной TNS_ADMIN, где у меня было место после каталога, например c: \ oracle \ instantclient_ (где _ - пробел) Удалено и исправлено список мусора и подключено сразу.

Надеюсь, это поможет.

0

Конечно, вы должны проверить TNSNames.ora на

C:\your_oracle_folder\app\oracle\product\11.2.0\server\network\ADMIN\TNSNAMES.ora

Вы должны увидеть на вершине, что это ваше имя системы. В моем случае Oracle 11g Express - «XE». Затем настройте свои ODBC 32 или 64 бита в зависимости от вашей платформы:

enter image description here