将数据据库从sql2000升级2005后,原来好端端的程序,竟然报了一堆错误。错误信息主要如下:
com.microsoft.sqlserver.jdbc.SQLServerException: 无法在给定的语句中打开服务器游标。请使用默认结果集或客户端游标。
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(Unknown Source)
at com.microsoft.sqlserver.jdbc.IOBuffer.processPackets(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.sendExecute(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.doExecuteQuery(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.executeQuery(Unknown Source)
sql2000升级2005报错的环境及分析原因:
1、语言用java 做,数据库用hibernitat。驱动用microsoft的驱动。
2、在sql 2000数据库时,程序运行正常,将数据库升级到2005后,一样的程序,就报错了(数据库驱动也换成2005的驱动了)。
3、好像有时候能正常,有时候不正常。最开始的时候,好像没有问题,但过段时间后,就完全不行了。(不知道是不是我记错了)
sql2000升级2005报错的分析及解决办法
1、经过仔细比对,发现好像是sql2000升级2005后,只有调用存储过程时,才会报此错误,一般的数据库操作,并不会报此错误。
2、换数据库驱动。直接把JTDS 数据库驱动换上 。结果:好了
结论:
微软数据库驱动不好啊。该换就换吧。
sql2000升级2005报错的问题是解决了,其实最最本质的原因还没有完全找到,希望对那些遇到sql2000升级2005报错的同样问题的人有点帮助。