linux下无法通过数据源连接到数据库

dream_wu 2010-11-24 10:12:30
开发环境:myEclipse6.0、jdk1.4、weblogic10
我想实现用java程序通过jndi的方式链接数据库,数据源名称为loushang,在windows下测试无任何问题,但是在linux系统下会报如下错误:
<Nov 23, 2010 1:03:55 PM GMT+08:00> <Error> <Security> <BEA-090060> <The AccessDecision class "weblogic.security.providers.xacml.authorization.XACMLAuthorizationProviderImpl" returned an error: java.lang.ClassCastException: org.apache.xerces.parsers.XIncludeAwareParserConfiguration incompatible with org.apache.xerces.xni.parser.XMLParserConfiguration.>
weblogic.jdbc.extensions.PoolPermissionsSQLException: weblogic.common.resourcepool.ResourcePermissionsException: User "<anonymous>" does not have permission to perform operation "reserve" on resource "loushang" of module "null" of application "null" of type "ConnectionPool"
at weblogic.jdbc.common.internal.JDBCUtil.wrapAndThrowResourceException(JDBCUtil.java:252)
at weblogic.jdbc.pool.Driver.connect(Driver.java:160)
at weblogic.jdbc.jts.Driver.getNonTxConnection(Driver.java:642)
at weblogic.jdbc.jts.Driver.connect(Driver.java:124)
at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:338)
at com.inspur.hysk.database.DbConnection.getConnection(DbConnection.java:35)
at com.inspur.hysk.yyyJmjBind.YyyJmjBind.bdKpzd(YyyJmjBind.java:34)
at com.inspur.hysk.webservice.SecurtyWebService.bdKpzd(SecurtyWebService.java:142)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:600)
at org.apache.axis2.rpc.receivers.RPCUtil.invokeServiceClass(RPCUtil.java:194)
at org.apache.axis2.rpc.receivers.RPCMessageReceiver.invokeBusinessLogic(RPCMessageReceiver.java:98)
at org.apache.axis2.receivers.AbstractInOutMessageReceiver.invokeBusinessLogic(AbstractInOutMessageReceiver.java:40)
at org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:96)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:145)
at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:275)
at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:120)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3498)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(Unknown Source)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)

请各位大侠帮忙解决一下,非常感谢!
...全文
274 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
dream_wu 2010-11-25
  • 打赏
  • 举报
回复
上面解决方案写错了,应该是
<?xml version="1.0" encoding="UTF-8"?>
<weblogic-web-app>
<context-root>/</context-root>
<!-- linux环境下要将这三行删掉,保证weblogic优先加载 -->
<container-descriptor>
<prefer-web-inf-classes>true</prefer-web-inf-classes>
</container-descriptor>
<!-- linux环境下要将这三行删掉,保证weblogic优先加载 -->
</weblogic-web-app>
zyujie 2010-11-24
  • 打赏
  • 举报
回复
楼主,一般windows的工程移植到linux下面,要注意几点:一是JDK版本的向下兼容性,二是你要改一下路径问题。像你web.xml加载连接池配置文件,还有一些自己写的配置文件的路径前面不要加/,linux下面会认为是绝对路径,以前我就遇到过路径问题。!!不知道楼主是不是路径的问题呢??导致没有load一些配置文件!!
dream_wu 2010-11-24
  • 打赏
  • 举报
回复
问题以解决:项目中有个weblogic.xml内容如下:
<!DOCTYPE weblogic-web-app PUBLIC "-//BEA Systems, Inc.//DTD Web Application 8.1//EN" "http://www.bea.com/servers/wls810/dtd/weblogic810-web-jar.dtd">

<weblogic-web-app>

<!-- linux环境下要将这三行删掉,保证weblogic优先加载 -->
<container-descriptor>
<servlet-reload-check-secs>-1</servlet-reload-check-secs>
</container-descriptor>
<!-- linux环境下要将这三行删掉,保证weblogic优先加载 -->

<context-root>/</context-root>
</weblogic-web-app>

要将以上3行代码删掉,保证weblogic优先加载就可以了。
  • 打赏
  • 举报
回复
匿名用户没有权限来执行“连接池”中“空”应用的“空”模块的资源“loushang”。
这种情况一般是由于LINUX和WINDOWS在文件路径写法上的差异而造成的配置信息丢失。

5,655

社区成员

发帖
与我相关
我的任务
社区描述
Web开发应用服务器相关讨论专区
社区管理员
  • 应用服务器社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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