这是怎么回事啊,我用同样的用户名用JDBC连就没问题,用hibernate怎么也连不上
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]无法打开登录 'COMPUTER' 中请求的数据库。登录失败。
at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processErrorToken(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReplyToken(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSLoginRequest.processReplyToken(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReply(Unknown Source)
at com.microsoft.jdbc.sqlserver.SQLServerImplConnection.open(Unknown Source)
at com.microsoft.jdbc.base.BaseConnection.getNewImplConnection(Unknown Source)
at com.microsoft.jdbc.base.BaseConnection.open(Unknown Source)
at com.microsoft.jdbc.base.BaseDriver.connect(Unknown Source)
hibernate.cfg.xml:
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 2.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-2.0.dtd">
<!-- Generated by MyEclipse Hibernate Tools. -->
<hibernate-configuration>
<session-factory>
<property name="connection.url">
jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=COMPUTER
</property>
<property name="connection.username">jam</property>
<property name="connection.password">jam</property>
<property name="connection.driver_class">
com.microsoft.jdbc.sqlserver.SQLServerDriver
</property>
<property name="dialect">
org.hibernate.dialect.SQLServerDialect
</property>
<mapping resource="isep/hibernate/Worker.hbm.xml" />
</session-factory>
</hibernate-configuration>
8 个解决方案
#1
我sp3,sp4补丁都装过了...
#2
jam有没有访问COMPUTER数据库的权限?
#3
要不要将包放入??
#4
导到项目里面的?
#5
换个hibernate.jar的版本试试
#6
看异常信息, 应该已经可以找到驱动.jar包了
好像MS的驱动有点问题, 改为下面这样试试:
jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=COMPUTER;SelectMethod=cursor
后面最好不要有空格, 如果这样还是不行, 那你可以尝试使用开源的JTDS驱动...
好像MS的驱动有点问题, 改为下面这样试试:
jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=COMPUTER;SelectMethod=cursor
后面最好不要有空格, 如果这样还是不行, 那你可以尝试使用开源的JTDS驱动...
#7
网上的解释是:
一般是当你在一个SQL SERVER的JDBC连接上执行多个STATEMENTS的操作,或者是手动事务状态(AutoCommit=false) 并且使用 direct (SelectMethod=direct) 模式. Direct 模式是默认的模式. 解决办法当你使用手动事务模式时,必须把SelectMethod 属性的值设置为 Cursor, 或者是确保在你的连接上只有一个STATEMENT操作。
一般是当你在一个SQL SERVER的JDBC连接上执行多个STATEMENTS的操作,或者是手动事务状态(AutoCommit=false) 并且使用 direct (SelectMethod=direct) 模式. Direct 模式是默认的模式. 解决办法当你使用手动事务模式时,必须把SelectMethod 属性的值设置为 Cursor, 或者是确保在你的连接上只有一个STATEMENT操作。
#8
真的能解决吗?我也出现这问题了
#1
我sp3,sp4补丁都装过了...
#2
jam有没有访问COMPUTER数据库的权限?
#3
要不要将包放入??
#4
导到项目里面的?
#5
换个hibernate.jar的版本试试
#6
看异常信息, 应该已经可以找到驱动.jar包了
好像MS的驱动有点问题, 改为下面这样试试:
jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=COMPUTER;SelectMethod=cursor
后面最好不要有空格, 如果这样还是不行, 那你可以尝试使用开源的JTDS驱动...
好像MS的驱动有点问题, 改为下面这样试试:
jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=COMPUTER;SelectMethod=cursor
后面最好不要有空格, 如果这样还是不行, 那你可以尝试使用开源的JTDS驱动...
#7
网上的解释是:
一般是当你在一个SQL SERVER的JDBC连接上执行多个STATEMENTS的操作,或者是手动事务状态(AutoCommit=false) 并且使用 direct (SelectMethod=direct) 模式. Direct 模式是默认的模式. 解决办法当你使用手动事务模式时,必须把SelectMethod 属性的值设置为 Cursor, 或者是确保在你的连接上只有一个STATEMENT操作。
一般是当你在一个SQL SERVER的JDBC连接上执行多个STATEMENTS的操作,或者是手动事务状态(AutoCommit=false) 并且使用 direct (SelectMethod=direct) 模式. Direct 模式是默认的模式. 解决办法当你使用手动事务模式时,必须把SelectMethod 属性的值设置为 Cursor, 或者是确保在你的连接上只有一个STATEMENT操作。
#8
真的能解决吗?我也出现这问题了