Sql server java.sql.SQLException:用户登录失败
我正在尝试将Hibernate配置为连接到MS SQL Server 2005 Management Studio Express,但无法登录。我到处寻找解决办法,但找不到任何有帮助的 我知道密码和用户名是正确的,但它们似乎不起作用。如果有人能帮忙,我将不胜感激 这是我的配置文件:Sql server java.sql.SQLException:用户登录失败,sql-server,hibernate,Sql Server,Hibernate,我正在尝试将Hibernate配置为连接到MS SQL Server 2005 Management Studio Express,但无法登录。我到处寻找解决办法,但找不到任何有帮助的 我知道密码和用户名是正确的,但它们似乎不起作用。如果有人能帮忙,我将不胜感激 这是我的配置文件: <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibe
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<!-- Database connection settings -->
<property name="connection.driver_class">net.sourceforge.jtds.jdbc.Driver</property>
<property name="connection.url">jdbc:jtds:sqlserver://***********/**********; databaseName=Scores</property>
<property name="connection.username">*****</property>
<property name="connection.password">******</property>
<!-- JDBC connection pool (use the built-in) -->
<property name="connection.pool_size">1</property>
<!-- SQL dialect -->
<property name="dialect">org.hibernate.dialect.SQLServerDialect</property>
<!-- Enable Hibernate's automatic session context management -->
<property name="current_session_context_class">thread</property>
<!-- Disable the second-level cache -->
<property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>
<!-- Echo all executed SQL to stdout -->
<property name="show_sql">true</property>
<!-- Drop and re-create the database schema on startup -->
<property name="hbm2ddl.auto">update</property>
<!-- Mapping files -->
<mapping resource="player.hbm.xml"/>
</session-factory>
</hibernate-configuration>
试试另一个驱动程序,检查它是否工作,也许。我使用这个,它可以工作:
com.microsoft.sqlserver.jdbc.SQLServerDriver
要连接:
jdbc:sqlserver://SERVER[\\INSTANCE];DatabaseName=dbname
如果仍然无法工作,请检查您是否错过了任何配置或拼写错误的内容,但它似乎应该可以工作。感谢您的回复。只有一个问题,实例名称是否必要?星号中的名称只是一个名称,没有指定实例名称。老实说,我不知道是否需要,但我认为需要。如果您使用SQL Management Studio连接到数据库,并且使用类似于//LOCALHOST\INSTANCENAME\的东西,并且一切正常,那么如果您从未使用过,请尝试使用它。它说它是可选的,但将使用默认实例名。正如我所说的,如果您使用一个实例通过SQL Management Studio进行连接,并且它可以正常工作,我建议您尝试使用相同的实例名称。它可以正常工作!我想是换了司机,但不确定。也可能是连接url中的错误。谢谢,欢迎光临我很高兴它能起作用。祝您愉快。您的配置显示databaseName=names,但您的错误显示databaseName=Scores,您是否选择了正确的配置?已更改,配置文件现在读取databaseName=Scores。
3447 [http-bio-8080-exec-10] WARN org.hibernate.util.JDBCExceptionReporter - SQL Error: 18456, SQLState: 28000
3447 [http-bio-8080-exec-10] ERROR org.hibernate.util.JDBCExceptionReporter - Login failed for user '*****'.
org.hibernate.exception.GenericJDBCException: Cannot open connection
at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:126)
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:114)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:52)
at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:449)
at org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:167)
at org.hibernate.jdbc.JDBCContext.connection(JDBCContext.java:142)
at org.hibernate.transaction.JDBCTransaction.begin(JDBCTransaction.java:85)
at org.hibernate.impl.SessionImpl.beginTransaction(SessionImpl.java:1354)
at database.ScoreDB.addPlayerScore(ScoreDB.java:17)
com.microsoft.sqlserver.jdbc.SQLServerDriver
jdbc:sqlserver://SERVER[\\INSTANCE];DatabaseName=dbname