Возникла проблема с подключением ODBC из базы данных ORACLE к MS SQL Server.
Я уже подключился к sqlcmd. Таким образом, серверы видят друг друга и могут общаться. Драйвер ODBC не выполняет аутентификацию, потому что он не может прочитать данные пользователя и пароля из файла odbc.ini. Я читал, что это происходит из-за того, что драйвер odbc не принимает данные аутентификации, если они хранятся в виде обычного текста, но не было объяснения, как я могу хранить данные другим способом.
Среда:
- Драйвер ODBC: драйвер Microsoft ODBC 11 для SQL Server
- Диспетчер драйверов: Unix ODBC 2.3.0
- ОС: ORACLE linux 6.5
- Целевая база данных: MS SQL Server 2008 R2
Это работает:
sqlcmd -S address -U username -P password
odbc.ini файл:
[SQL_LINK]
Driver = ODBC Driver 11 for SQL Server
Server = tcp:address,port
UID = username
PWD = password
Лог-файл:
[ODBC][913][1417453346.612341][SQLConnect.c][3654]
Entry:
Connection = 0x18f40a0
Server Name = [SQL_LINK][length = 8 (SQL_NTS)]
User Name = [NULL]
Authentication = [NULL]
UNICODE Using encoding ASCII 'UTF8' and UNICODE 'UTF16LE'
DIAG [28000] [Microsoft][ODBC Driver 11 for SQL Server][SQL Server]Login failed for user ''.