sql server使用全局临时表的Jsp页面出现 TDSExecuteRequest(TDSRequest).processReply(BaseWarning

qianlh 2010-05-16 06:54:33
连接数据库的文件源码: dataconn.java
package dataconn;
import java.sql.*;

public class dataconn{

String sConnStr = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=BugFree";
String user="sa";
String password="sa";
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;

public dataconn() {
try {
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
}
catch(java.lang.ClassNotFoundException e) {
System.err.println("news_conn(): " + e.getMessage());
}
}

public ResultSet executeQuery(String sql) {
rs = null;
try {
conn = DriverManager.getConnection(sConnStr,user,password);
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
rs = stmt.executeQuery(sql);
}
catch(SQLException ex) {
System.err.println("aq.executeQuery: " + ex.getMessage());
System.err.println("aq.executeQuerystrSQL: " + sql);
}
return rs;
}


//执行一些创建Table 的语句。
public void execute(String sql){

try{

conn = DriverManager.getConnection(sConnStr,user,password);
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
stmt.execute(sql);
}
catch(SQLException ex) {
System.err.println("aq.executeUpdate: " + ex.getMessage());
System.err.println("aq.executeUpadatestrSQL: " + sql);
}
}

public void closeStmt()
{
try{
stmt.close();
}
catch(SQLException e){
e.printStackTrace();
}
}


public void closeConn()
{
try{
conn.close();
}
catch(SQLException e){
e.printStackTrace();
}
}

}


一个使用全局临时表的jsp页面,源码
<%
dataconn conn=new dataconn();

conn.execute(" if object_id('#temp') is not null drop table #temp");

conn.execute("create table #temp(BugID int,BugTitle varchar(100)) ");
conn.execute("insert into #temp select BugID,BugTitle from BugInfo");
ResultSet rs=conn.executeQuery("select * from #temp where BugID>42");
if(rs!=null)
{

while(rs.next())
{
out.print(rs.getString("BugID"));
out.print(rs.getString("BugTitle"));
out.println();
}


}

rs.close();
conn.close();



%>











只要连续刷新两次这个jsp页面,myeclipse 会自动跳动debug,出现下面提示
Daemon Thread [http-8080-4] (Suspended (exception SQLException))
TDSExecuteRequest(TDSRequest).processReply(BaseWarnings) line: not available
SQLServerImplStatement.getNextResultType() line: not available
BaseStatement.commonTransitionToState(int) line: not available
BaseStatement.postImplExecute(boolean) line: not available
BaseStatement.commonExecute() line: not available
BaseStatement.executeInternal() line: not available
BaseStatement.execute(String) line: not available
DelegatingStatement.execute(String) line: 261
TempTableManage.CreateTempTable(String) line: 51
MyJsp.jsp line: 35
MyJsp_jsp(HttpJspBase).service(HttpServletRequest, HttpServletResponse) line: 70
MyJsp_jsp(HttpServlet).service(ServletRequest, ServletResponse) line: 803
JspServletWrapper.service(HttpServletRequest, HttpServletResponse, boolean) line: 384
JspServlet.serviceJspFile(HttpServletRequest, HttpServletResponse, String, Throwable, boolean) line: 320
JspServlet.service(HttpServletRequest, HttpServletResponse) line: 266
JspServlet(HttpServlet).service(ServletRequest, ServletResponse) line: 803
ApplicationFilterChain.internalDoFilter(ServletRequest, ServletResponse) line: 290
ApplicationFilterChain.doFilter(ServletRequest, ServletResponse) line: 206
SetCharacterEncodingFilter.doFilter(ServletRequest, ServletResponse, FilterChain) line: 123
ApplicationFilterChain.internalDoFilter(ServletRequest, ServletResponse) line: 235
ApplicationFilterChain.doFilter(ServletRequest, ServletResponse) line: 206
StandardWrapperValve.invoke(Request, Response) line: 228
StandardContextValve.invoke(Request, Response) line: 175
StandardHostValve.invoke(Request, Response) line: 128
ErrorReportValve.invoke(Request, Response) line: 104
StandardEngineValve.invoke(Request, Response) line: 109
CoyoteAdapter.service(Request, Response) line: 216
Http11Processor.process(Socket) line: 844
Http11Protocol$Http11ConnectionHandler.process(Socket) line: 634
JIoEndpoint$Worker.run() line: 445
Thread.run() line: not available





对于上面的问题,我google查询了,但是没有得到好的解方案。希望大家能够给予帮助!
...全文
66 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
tianwentianwen008 2011-03-17
  • 打赏
  • 举报
回复
#temp 是局部临时表
##temp 才是全局临时表
局部临时表只属于创建它的哪个会话

81,091

社区成员

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

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