我有一个用Java编写的应用程序(Web应用程序)和MS SQL上的数据库。 Tomcat(带有应用程序)和数据库服务器都在我的localhost上。 我正在尝试运行一个应用程序,但在Java日志中我有:
org.apache.commons.dbcp.SQLNestedException:无法创建PoolableConnectionFactory(用户'some-user'登录失败。)
引起:java.sql.SQLException:用户'some-user'登录失败。
在数据库日志中,错误如下所示:
登录错误:18456,严重性:14,状态:12 用户'some-user'的登录登录失败。原因:基于登录的服务器访问验证因基础结构错误而失败。检查以前的错误。 [客户:127.0.0.1]
当我通过Microsoft SQL Server Managment Studio(选择“SQL Server身份验证”)登录服务器时,一切正常。 但是使用相同的凭据,我的Java应用程序无法登录。
其他信息:
我的连接url是jdbc:jtds:sqlserver://127.0.0.1:1434 / some-db
some-user 具有 public 服务器角色和some-db的两个数据库角色成员资格( db_datawriter 和 public )。 some-user 的默认架构是 db_datawriter 。
此外 some-user 将 some-db 作为默认数据库。
答案 0 :(得分:0)
为什么要连接到端口1434?数据库实例的默认端口是TCP 1433; UDP 1434用于browser service,我怀疑它只受微软客户端库支持(但我可能错了)。