我正在尝试通过 ODBC 连接从第三方应用程序连接到 SQL Server 2008 数据库。当 ODBC 设置了 Windows 身份验证时,我可以成功连接,但当 ODBC 设置了 SQL Server 身份验证时,则无法连接。
我的一般流程是
- 创建 64 位系统 ODBC DSN(“C:\Windows\SysWOW64\odbcad32.exe”)
- 当我创建 DSN 时,我最后测试了连接,一切看起来都很好。我可以在 SQL Server 中使用以下方法验证这一点
用户“myuser”登录成功。使用 SQL Server 身份验证建立连接。[客户端:10.85.43.91]
- 然后我转到我的应用程序,引用该 DSN 并尝试登录。我收到一条错误消息
Unable to connect to general Datasource. Connect String: DSN=<DSN Name> Error: login failed for user ''
。然后我返回 SQL 错误日志并看到
用户“myuser”登录失败。原因:密码与提供的登录名不匹配。[客户端:10.85.43.91]
和
用户 '' 登录失败。原因:尝试使用 SQL 身份验证登录失败。服务器仅配置为 Windows 身份验证。[客户端:10.85.43.91]
我可以使用该用户名通过 SMSS 连接到 SQL 并运行查询。
我还可以Authentication mode is MIXED.
从服务器启动时的日志行中验证这一点。通过对象资源管理器 > 服务器属性 > 安全 > SQL Server 和 Windows 身份验证模式进行相同的验证。
我们昨晚也启动了服务器,只是为了确保所有这些设置都是正确的。
尝试从至少 4 台计算机连接时会发生这种情况。
发生了什么?我遗漏了什么?为什么我无法通过 ODBC 使用 SQL 身份验证连接到 SQL?
答案1
[ODBC] DRIVER=SQL Server Native Client 10.0 UID=drazen LANGUAGE=您的本机 DATABASE=name_db WSID=名称服务器 APP=Microsoft Office 2010 Trusted_Connection=Yes SERVER=(本地) Description=describe conn