尝试使用SQL Server身份验证连接到SQL Server 2008 Express数据库时,会导致用户' ...'登录失败。'。"

时间:2013-05-03 03:53:16

标签: java sql-server sql-server-2008 sql-server-2008-express jtds

我正在使用jTDS使用SQL Server身份验证(而不是Windows的身份验证方法)将Liferay实例连接到SQL Server 2008 Express服务器。我的portal-ext.properties

中有类似的内容
jdbc.default.driverClassName=net.sourceforge.jtds.jdbc.Driver
jdbc.default.url=jdbc:jtds:sqlserver://127.0.0.1:1433/somedb
jdbc.default.username=someuser
jdbc.default.password=somepassword

(对于那些不了解Liferay的人来说,打电话有点相似

Class.forName("net.sourceforge.jtds.jdbc.Driver");
con = DriverManager.getConnection("jdbc:jtds:sqlserver://127.0.0.1:1433/somedb",
                                  "someuser", "somepassword");

但是,虽然我传递了正确的用户名和密码,但邮件Login failed for user 'someuser'仍然出错。我不确定服务器登录,数据库用户和数据库是否存在且配置良好。

有什么不对?

1 个答案:

答案 0 :(得分:1)

嗯,我想这样的错误可能有无限的原因。尽管如此,在我的案例中,解决方案如下:

  1. 在SQL配置管理器中启用TCP / IP连接。

  2. 打开SQL Server Management Studio(如果没有安装它,请安装它;但它可以有its own pitfalls

  3. 右键单击数据库服务器(如下图所示),然后单击PropertiesRight-clicking on the database server

  4. 选择Security选项并标记SQL Server and Windows authentication mode。单击确定。 Database server Security properties
  5. 打开SQL Server配置管理器并重新启动SQL Server服务。
  6. 在此之后,我的连接没有问题。 This article给了我很多帮助。