sqlserver 用 jdbc出错 ,Microsoft][SQLServer 2000 Driver for JDBC]Error setting up static cursor cache

Javor 2003-09-11 09:03:46
exception

javax.servlet.ServletException: [Microsoft][SQLServer 2000 Driver for JDBC]Error setting up static cursor cache.
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:682)
org.apache.jsp.web.test_jsp._jspService(test_jsp.java:72)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:136)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:320)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:294)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)


root cause

java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error setting up static cursor cache.
com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
com.microsoft.jdbc.base.BaseImplStaticCursorResultSet.setupTempFiles(Unknown Source)
com.microsoft.jdbc.base.BaseImplStaticCursorResultSet.postSetupInitialize(Unknown Source)
com.microsoft.jdbc.base.BaseImplServiceResultSet.postSetupInitialize(Unknown Source)
com.microsoft.jdbc.base.BaseResultSet.(Unknown Source)
com.microsoft.jdbc.base.BaseStatement.commonGetNextResultSet(Unknown Source)
com.microsoft.jdbc.base.BaseStatement.executeQueryInternal(Unknown Source)
com.microsoft.jdbc.base.BaseStatement.executeQuery(Unknown Source)
org.apache.jsp.web.test_jsp._jspService(test_jsp.java:57)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:136)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:320)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:294)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)

...全文
32 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenfei00 2003-09-25
  • 打赏
  • 举报
回复
很可能是操作系统的问题..我在2003下出现过这样的问题..而在2000系统就不会..
aku0708 2003-09-25
  • 打赏
  • 举报
回复
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
Connection conn = DriverManager.getConnection
("jdbc:microsoft:sqlserver://server1:1433;User=test;Password=secret");

squallzeng 2003-09-25
  • 打赏
  • 举报
回复
首先把你的“url= "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=dps;SelectMethod=cursor";”中的localhost改成你的数据库服务器的名称。还有就是看看你的SQL语句是不是有问题,第三,就是注意你的JDBC的驱动的问题!!!
007james 2003-09-25
  • 打赏
  • 举报
回复
SQLServer2000 JDBC驱动的完整安装及测试说明(转载)

一、下载SQLSERVER2000的jdbc驱动程序。
在微软站点就有这个驱动程序:
Window操作系统
http://www.uncj.com/upload/files/ms_jdbc_setup.exe
http://download.microsoft.com/download/SQLSVR2000/jdbc/2000/NT45XP/EN-US/setup.exe

Unix操作系统 Mssqlserver.tar
http://download.microsoft.com/download/SQLSVR2000/jdbc/2000/UNIX/EN-US/mssqlserver.tar

二、安装JDBC

执行ms_jdbc_setup.exe可执行文件,一切只需要点击下一步,至到出现finish按钮,完成安装。

注:
(1) ms_JDBC_setup默认安装路径为:
c:\Program Files\Microsoft SQL Server 2000 Driver for JDBC

(2)此版(Version 2.2.0022)本仅支持
Microsoft SQL Server 2000 Driver for JDBC
(3)安装目录\lib\下的三个jar文件即是我们要的JDBC驱动核心
msbase.jar
mssqlserver.jar
msutil.jar

三、将以上(3)中指的三个jar文件加入到环境变量中去
classpath:
C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\msbase.jar;
C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\mssqlserver.jar;
C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\msutil.jar

注:我建议将以上三个文件拷贝至你的jvm机所在的lib或class目录下。此时我是将它拷贝至我的jvm目录下的jre/lib/ext下。


四、测试

public class Test{
public Test(){}
public static void main(String args[]){
try{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
Connection conn

=DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;User=sa;Password=;DatabaseName=maxwell");
Statement stmt=conn.createStatement();
String sql="select * from employee";
ResultSet rs = stmt.executeQuery(sql);
while(rs.next()) {
System.out.println("TestName:"+rs.getString("name"));
}
rs.close();
stmt.close();
conn.close();
} catch(Exception ex) { System.err.println(ex.getMessage()); }
}

}

五、注意事项

1。要保证你的Sql服务是启动状态
2.在Sql 的管理器中能够使用sa或其它用户正常登录;(有些人在安装sql时用了nt用户管理模式,这里可能会有一定问题)
3.第一次配置好环境变量最好能重启一下电脑
4.注意JVM和DataBase的启动顺序:
先启动DataBase,再启动JVM机;
注:在停止Web服务器后,再重启动,中间最好能有10秒以上的间隔.
5.注意操作系统的网络连通性
A.启动了Tcp/IP服务
B.配置了相关IP地址,有些人机器可能用的是自动分配IP或有配置IP时,但网络不通可能也找不到IP
6.有些机器在调试明最好能将(四)中的连接地址localhost改成数据库服务器的IP,这也是要注意5的原因。
凋零的老树 2003-09-25
  • 打赏
  • 举报
回复
localhost改成数据库服务器名称
panhaidong 2003-09-25
  • 打赏
  • 举报
回复
String url= "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=dps;SelectMethod=cursor";

注意加上:SelectMethod=cursor


DemonLeo 2003-09-11
  • 打赏
  • 举报
回复
不要执行SQL语句,把它打出来,然后放到SQL—SERVER中执行,看看是什么错误。
Geranium 2003-09-11
  • 打赏
  • 举报
回复
应该是游标方面的问题。
DemonLeo 2003-09-11
  • 打赏
  • 举报
回复
可能是SQL语句错误。
minl 2003-09-11
  • 打赏
  • 举报
回复
你不把原码贴出来,不会有人告诉你结果的

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧