1

我正在使用 jTDS 将 Liferay 实例连接到使用 SQL Server 身份验证(而不是 Windows 的身份验证方法)的 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'。我很确定服务器登录,数据库用户和数据库存在并且配置良好。

有什么问题?

4

1 回答 1

1

好吧,我想这种错误可能有无限的原因。尽管如此,就我而言,解决方案如下:

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

  2. 打开 SQL Server Management Studio(如果您没有安装它,请安装它;但是它可能有自己的缺陷)。

  3. 右键单击数据库服务器(如下图所示),然后单击Properties. 右键单击数据库服务器

  4. 选择Security选项并标记SQL Server and Windows authentication mode。单击确定。 数据库服务器安全属性
  5. 打开 SQL Server 配置管理器并重新启动 SQL Server 服务。

在此之后,我的连接没有问题。这篇文章对我帮助很大。

于 2013-05-03T03:53:15.583 回答