用连接池时出现的错误

exceed 2002-06-21 12:43:45
我想在JBuilder中使用WebLogic连接池连接SQLServer 2000数据库,代码如下:
package testconnectpool;

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import weblogic.db.jdbc.*;
import java.sql.*;


try{
Class.forName("weblogic.jdbc.pool.Driver");
out.println("加载Weblogic驱动器成功!");
}
catch(Exception err){
out.println("加载Weblogic驱动器失败!");
}

try{
String strURL = null;
strURL = "jdbc:weblogic:pool:SQLPool";
Connection sqlCon = DriverManager.getConnection(strURL,"sa","1234");
sqlCon.setCatalog("Northwind");
}
catch(Exception err){
out.println("连接池失败!");
}

第一个try中的代码执行正常,可执行到第二个try时catch语句没有起作用,并且报错如下:
Apache Tomcat/4.0.1 - HTTP Status 500 - Internal Server Errortype Exception reportmessage Internal Server Errordescription The server encountered an internal error (Internal Server Error) that prevented it from fulfilling this request.exception javax.servlet.ServletException: Servlet execution threw an exception
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:201)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2344)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:163)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1011)
at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1106)
at java.lang.Thread.run(Thread.java:484)
root cause java.lang.IllegalAccessError: java.security.acl.NotOwnerException
at weblogic.security.acl.Realm.getRealm(Realm.java:91)
at weblogic.security.acl.Realm.getRealm(Realm.java:36)
at weblogic.security.acl.Realm.authenticate(Realm.java:183)
at weblogic.jdbc.pool.Driver.connect(Driver.java:146)
at java.sql.DriverManager.getConnection(DriverManager.java:517)
at java.sql.DriverManager.getConnection(DriverManager.java:177)
at testconnectpool.TestPool.doPost(TestPool.java:52)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:201)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2344)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:163)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1011)
at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1106)
at java.lang.Thread.run(Thread.java:484)
请问,我应该如何解决?
顺便问一句,为什么在JBuilder中使用WebLogic连接池后编译程序的速度会非常慢,尤其是在Creating archive for '<Default WebApp>'处。
...全文
41 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
exceed 2002-06-24
  • 打赏
  • 举报
回复
up
exceed 2002-06-24
  • 打赏
  • 举报
回复
help
exceed 2002-06-24
  • 打赏
  • 举报
回复
内容如下:
<JDBCConnectionPool
DriverName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
Name="SQLPool" Password="{3DES}jHZxzIEjwow="
Properties="user=sa" Targets="myserver" URL="jdbc:microsoft:SQLServer://10.10.15.10:1433"/>
shihb 2002-06-24
  • 打赏
  • 举报
回复
在你的weblogic的安装目录下找一个config.xml文件,我想看一下你在这个文件中connection Pool的设置结果呀!
exceed 2002-06-24
  • 打赏
  • 举报
回复
我配置连接池的方法:
我先安装了JDBC for SQLServer2000的JDBC驱动器,然后把msbase.jar、mssqlserver,jar、msutil.jar三个文件复制到了WebLogic安装目录下的wlserver6.1\lib\下,然后修改startWebLogic.cmd文件,内容如下:
set CLASSPATH=.;.\lib\weblogic_sp.jar;.\lib\weblogic.jar;
.\lib\mybase.jar;.\lib\mssqlserver.jar;.\lib\msutil.jar;
然后我在WebLogic console中建立了一个Connections Pools,具体内容如下:
Name:SQLServer Pool
URL:jdbc:microsoft:sqlserver://10.10.17.1:1433
Driver Classname:com.microsoft.jdbc.sqlserver.SQLServerDriver
Properties(key=value):user=sa
shihb 2002-06-24
  • 打赏
  • 举报
回复
那你在config.xml中是如何设置connection Pool的?
exceed 2002-06-24
  • 打赏
  • 举报
回复
我的WebLogic版本是6.1
shihb 2002-06-24
  • 打赏
  • 举报
回复
你的weblogic的版本是什么?我想要的是你在weblogic.properties(5.1以前)或config.xml(6.0以后)中datesource的设置!
exceed 2002-06-22
  • 打赏
  • 举报
回复
up
exceed 2002-06-22
  • 打赏
  • 举报
回复
help
kamanwu 2002-06-21
  • 打赏
  • 举报
回复
应该不是程序的问题。可能是配置的问题。
shihb 2002-06-21
  • 打赏
  • 举报
回复
你的weblogic起来了吗?启动的过程中有没有什么问题?你仔细看看!
exceed 2002-06-21
  • 打赏
  • 举报
回复
是Connection sqlCon = DriverManager.getConnection(strURL,"sa","1234");
出的错
kamanwu 2002-06-21
  • 打赏
  • 举报
回复
出的是error不是exception.
所以try没有用。

你可以把try里面的4句话,一个个试,看看是哪句出错的。。。
exceed 2002-06-21
  • 打赏
  • 举报
回复
我配置连接池的方法:
我先安装了JDBC for SQLServer2000的JDBC驱动器,然后把msbase.jar、mssqlserver,jar、msutil.jar三个文件复制到了WebLogic安装目录下的wlserver6.1\lib\下,然后修改startWebLogic.cmd文件,内容如下:
set CLASSPATH=.;.\lib\weblogic_sp.jar;.\lib\weblogic.jar;
.\lib\mybase.jar;.\lib\mssqlserver.jar;.\lib\msutil.jar;
然后我在WebLogic console中建立了一个Connections Pools,具体内容如下:
Name:SQLServer Pool
URL:jdbc:microsoft:sqlserver://10.10.17.1:1433
Driver Classname:com.microsoft.jdbc.sqlserver.SQLServerDriver
Properties(key=value):user=sa
aprim 2002-06-21
  • 打赏
  • 举报
回复
顺便问一句,为什么在JBuilder中使用WebLogic连接池后编译程序的速度会非常慢,尤其是在Creating archive for '<Default WebApp>'处。
=================================================================
Properties for <Webapp>
中的Allways Create Achive .....
选掉!!!
shihb 2002-06-21
  • 打赏
  • 举报
回复
把你配置文件中关于connectionPool的部分贴出来看看!
exceed 2002-06-21
  • 打赏
  • 举报
回复
help
exceed 2002-06-21
  • 打赏
  • 举报
回复
connectionPool设置好了,但启动后提示我<Application Poller not started for production server.>
shihb 2002-06-21
  • 打赏
  • 举报
回复
那你的weblogic配置的怎么样?connectionPool有没有设置好?
加载更多回复(1)

62,614

社区成员

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

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