SQLServer 2000 Driver for JDBC SQLServer无法打开登录 'COMPUTER' 中请求的数据库。登录失败。是怎么回事?

时间:2022-01-28 07:09:54
请各位高手帮我看看,谢谢,
这是怎么回事啊,我用同样的用户名用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驱动...

#7


网上的解释是:

一般是当你在一个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驱动...

#7


网上的解释是:

一般是当你在一个SQL SERVER的JDBC连接上执行多个STATEMENTS的操作,或者是手动事务状态(AutoCommit=false) 并且使用 direct (SelectMethod=direct) 模式. Direct 模式是默认的模式. 解决办法当你使用手动事务模式时,必须把SelectMethod 属性的值设置为 Cursor, 或者是确保在你的连接上只有一个STATEMENT操作。

#8


真的能解决吗?我也出现这问题了