SQL Server ODBC身份验证错误


6

我正在尝试通过ODBC连接从第三方应用程序连接到SQL Server 2008数据库。在使用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?


如何将凭据传递给ODBC驱动程序?您还确定您的程序使用64位驱动程序吗?
Scott Chamberlain 2013年

另外我认为你可以在Stack Overflow上获得更好的答案,我投票支持。
Scott Chamberlain 2013年

当我通过Windows设置时,我将SQL Server用户名和密码提供给DSN,然后在应用程序中我只选择使用那个。我确信该程序使用的是64位驱动程序。该程序还可以选择从其中创建DSN(它打开Windows工具),它可以生成64位DSN。此外,如果我制作32位系统DSN,它不会显示在可用连接列表中。
布拉德

@ScottChamberlain我把这一切都写在了SO上然后认为这会更好:)我想我错了。
布拉德2013年

3
有关数据库管理的问题在这里是偏离主题的,但可以在数据库管理员堆栈交换中询问。
bwDraco 2013年

Answers:


-1

[ODBC] DRIVER = SQL Server Native Client 10.0 UID = drazen LANGUAGE =您的本机DATABASE = name_db WSID =名称服务器APP = Microsoft Office 2010 Trusted_Connection =是SERVER =(local)说明=描述conn

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.