2016-04-08 1 views
0

Я пытаюсь подключиться с Ubuntu к Oracle в Windows Server. Я установил драйвер UnixODBC и Oracle в Ubuntu. Когда я пытаюсь подключиться с помощью ISQL дает следующее сообщение об ошибке:Подключение Oracle с помощью unixODBC: TNS: неверно указано имя сети

[email protected]:~$ isql -v oracle-jono username password 
[S1000][unixODBC][Oracle][ODBC][Ora]ORA-12545: Connect failed because target host or object does not exist 
[ISQL]ERROR: Could not SQLConnect 

И когда я запускаю его с Sudo я получаю другую ошибку:

[S1000][unixODBC][Oracle][ODBC][Ora]ORA-12162: TNS:net service name is incorrectly specified 

Я пробовал много комбинаций enviranment переменных без успеха (ORACLE_HOME , ORACLE_SID, TNS_ADMIN, TWO_TASK). Это мой первый раз, когда я делаю что-либо с Oracle, поэтому практически ничего не знаю об этом. Я также пытался изменить файлы odbc.ini и tnsnames.ora.

Мои odbc.ini для связи с Oracle:

[oracle-jono] 
Description = ... 
Driver  = OracleDriver 
Server  = 111.222.111.222 
User  = ... 
Password = ... 
Port  = 1521 
Database = mydatabase 

Мой tnsnames.ora:

Data Source= 
    (DESCRIPTION= 
     (ADDRESS_LIST= 
      (ADDRESS= 
       (PROTOCOL=TCP) 
       (HOST=111.222.111.222) 
       (PORT=1521) 
      ) 
     ) 
     (CONNECT_DATA= 
      (SERVER=DEDICATED) 
      (SERVICE_NAME=mydatabase) 
     ) 
);User Id=...;Password=...; 

Есть ли что-то явно не так? Что я должен использовать для переменных среды? Должен ли я что-то делать в Windows Server, где заканчивается база данных Oracle (например, слушатели Oracle)?

ответ

1

Я пробовал много много вещей, и не уверены, какой из них работали, но я думаю, что ServerName в odbc.ini исправил эту ошибку:

[oracle-jono] 
Description = ... 
...same as above... 
ServerName = //111.222.111.222:1521/mydatabase