所以我有一个MySQL数据库,我在WebLogic的本地实例上有一个连接到该数据库的数据源.我正在尝试编写一些只需连接和查询的客户端代码.我在从数据源获取连接时遇到问题.到目前为止,这是我的代码.我正在运行WebLogic 12c.
@H_502_6@ import java.sql.Connection; import java.sql.ResultSet; import java.sql.sqlException; import java.sql.Statement; import java.util.ArrayList; import java.util.HashMap; import java.util.Hashtable; import javax.naming.Context; import javax.naming.InitialContext; import javax.naming.NamingException; import javax.sql.DataSource; public class ConnectionTest { public static void main(String... args) { ConnectionTest tCon = new ConnectionTest(); tCon.TestConnection(); } public void TestConnection() { Context ctx = null; Connection conn = null; Statement stmt = null; ResultSet rs = null; try { HashtablesqlException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } finally { try { if (stmt != null) stmt.close(); if (conn != null) conn.close(); } catch (sqlException e) { e.printStackTrace(); } } } }
这在ds.getConnection()失败,但有以下异常:
@H_502_6@java.lang.ClassCastException: weblogic.jdbc.common.internal.ConnectionEnv cannot be cast to java.io.Serializable at weblogic.iiop.IIOPOutputStream.writeObject(IIOPOutputStream.java:2285) at weblogic.utils.io.ObjectStreamClass.writeFields(ObjectStreamClass.java:414) at weblogic.corba.utils.ValueHandlerImpl.writeValueData(ValueHandlerImpl.java:235) at weblogic.corba.utils.ValueHandlerImpl.writeValueData(ValueHandlerImpl.java:225) at weblogic.corba.utils.ValueHandlerImpl.writeValue(ValueHandlerImpl.java:182) at weblogic.iiop.IIOPOutputStream.write_value(IIOPOutputStream.java:1983) at weblogic.iiop.IIOPOutputStream.write_value(IIOPOutputStream.java:2021) at weblogic.iiop.IIOPOutputStream.writeObject(IIOPOutputStream.java:2285) at weblogic.jdbc.common.internal.RmiDataSource_WLSkel.invoke(Unknown Source) at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:695) at weblogic.rmi.cluster.ClusterableServerRef.invoke(ClusterableServerRef.java:230) at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:520) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363) at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:146) at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:516) at weblogic.rmi.internal.wls.WLSExecuteRequest.run(WLSExecuteRequest.java:118) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256) at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)
我的buildpath中有wlclient.jar,wlsafclient.jar和weblogic.jar.我已经尝试了添加/删除这些罐子的各种组合,但无论我做什么,我仍然会得到相同的错误.任何帮助将不胜感激.
最佳答案
在做了一些研究之后,我正在删除我的旧答案并重新开始.
原文链接:https://www.f2er.com/mysql/433080.htmlOracle Doc for WebLogic Standalone Clients中有一个大型客户端类型表.对于列出的每种类型的客户端,该表显示了所需的jar文件.对于某些类型的客户端,您需要构建一个额外的jar(wlfullclient.jar)并包含它.
希望这可以帮助.