ODBC驱动程序无法读取SQL Server身份验证模式下的用户数据
从ORACLE数据库到MS SQL Server的ODBC连接有问题。ODBC驱动程序无法读取SQL Server身份验证模式下的用户数据
我已经实现了与sqlcmd的连接。所以服务器可以看到对方并且可以进行通信。 ODBC驱动程序在身份验证时失败,因为它无法从odbc.ini文件读取用户和密码数据。 我读过这种情况,因为odbc驱动程序不接受认证数据,如果它以纯文本形式存储的,但没有解释如何以其他方式存储数据。
环境:
- ODBC驱动程序:Unix的ODBC 2.3.0
- OS:ORACLE的Linux 6.5
- 目标数据库:MS SQL服务器的SQL Server
- 驱动程序管理Microsoft ODBC驱动程序11 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 ''.
比使用,它读取UID/PWD一个ODBC驱动程序之外的所有INI你能做的就是下载应用程式通过细节。你没有提到哪个应用程序正在调用驱动程序?
ODBC配置可以指定您使用SQL验证或集成。但是你不能用它来存储用户和密码。这在Windows中是正确的。不太确定unser linux,但是ODBC是一个ODBC。
我不知道您正在使用的应用程序或技术,但是:您需要使用用户名和密码填充相应的连接字符串。
只是为了连接字符串的建议:http://www.connectionstrings.com/
Postgre ODBC驱动程序可以将用户数据存储在odbc.ini文件中,我认为它通常工作。在ORACLE SQL开发者中,我创建了一个数据库链接'CREATE PUBLIC DATABASE LINK SQL_LINK连接到“un”IDENTIFIED BY“pw”使用'SQL_LINK';'但是当我运行一个选择时,它说'ORA-28545:代理 无法检索NETWORK/NCR消息的文本65535' – Tamas 2014-12-03 09:12:42
我用的是“ISQL SQL_LINK”命令来测试链接。您如何管理通过用户详细信息的应用程序? – Tamas 2014-12-02 16:12:04
如果您使用isql,那么“isql SQL_LINK uid pwd”将执行您想要的操作 – 2014-12-03 17:24:12
我仅将isql命令用于测试目的。最后的目标是在oracle中创建一个工作数据库链接。 – Tamas 2014-12-03 22:18:35