我正在使用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'
仍然出错。我不确定服务器登录,数据库用户和数据库是否存在且配置良好。
有什么不对?
答案 0 :(得分:1)
嗯,我想这样的错误可能有无限的原因。尽管如此,在我的案例中,解决方案如下:
在SQL配置管理器中启用TCP / IP连接。
打开SQL Server Management Studio(如果没有安装它,请安装它;但它可以有its own pitfalls。
右键单击数据库服务器(如下图所示),然后单击Properties
。
Security
选项并标记SQL Server and Windows authentication mode
。单击确定。
在此之后,我的连接没有问题。 This article给了我很多帮助。