java – 通过WebLogic进行数据库连接

前端之家收集整理的这篇文章主要介绍了java – 通过WebLogic进行数据库连接前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

所以我有一个MySQL数据库,我在WebLogic的本地实例上有一个连接到该数据库的数据源.我正在尝试编写一些只需连接和查询的客户端代码.我在从数据源获取连接时遇到问题.到目前为止,这是我的代码.我正在运行WebLogic 12c.

  1. import java.sql.Connection;
  2. import java.sql.ResultSet;
  3. import java.sql.sqlException;
  4. import java.sql.Statement;
  5. import java.util.ArrayList;
  6. import java.util.HashMap;
  7. import java.util.Hashtable;
  8. import javax.naming.Context;
  9. import javax.naming.InitialContext;
  10. import javax.naming.NamingException;
  11. import javax.sql.DataSource;
  12. public class ConnectionTest {
  13. public static void main(String... args) {
  14. ConnectionTest tCon = new ConnectionTest();
  15. tCon.TestConnection();
  16. }
  17. public void TestConnection() {
  18. Context ctx = null;
  19. Connection conn = null;
  20. Statement stmt = null;
  21. ResultSet rs = null;
  22. try {
  23. HashtablesqlException e) {
  24. // TODO Auto-generated catch block
  25. e.printStackTrace();
  26. } catch (Exception e) {
  27. e.printStackTrace();
  28. } finally {
  29. try {
  30. if (stmt != null)
  31. stmt.close();
  32. if (conn != null)
  33. conn.close();
  34. } catch (sqlException e) {
  35. e.printStackTrace();
  36. }
  37. }
  38. }
  39. }

这在ds.getConnection()失败,但有以下异常:

  1. java.lang.ClassCastException: weblogic.jdbc.common.internal.ConnectionEnv cannot be cast to java.io.Serializable
  2. at weblogic.iiop.IIOPOutputStream.writeObject(IIOPOutputStream.java:2285)
  3. at weblogic.utils.io.ObjectStreamClass.writeFields(ObjectStreamClass.java:414)
  4. at weblogic.corba.utils.ValueHandlerImpl.writeValueData(ValueHandlerImpl.java:235)
  5. at weblogic.corba.utils.ValueHandlerImpl.writeValueData(ValueHandlerImpl.java:225)
  6. at weblogic.corba.utils.ValueHandlerImpl.writeValue(ValueHandlerImpl.java:182)
  7. at weblogic.iiop.IIOPOutputStream.write_value(IIOPOutputStream.java:1983)
  8. at weblogic.iiop.IIOPOutputStream.write_value(IIOPOutputStream.java:2021)
  9. at weblogic.iiop.IIOPOutputStream.writeObject(IIOPOutputStream.java:2285)
  10. at weblogic.jdbc.common.internal.RmiDataSource_WLSkel.invoke(Unknown Source)
  11. at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:695)
  12. at weblogic.rmi.cluster.ClusterableServerRef.invoke(ClusterableServerRef.java:230)
  13. at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:520)
  14. at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
  15. at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:146)
  16. at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:516)
  17. at weblogic.rmi.internal.wls.WLSExecuteRequest.run(WLSExecuteRequest.java:118)
  18. at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)
  19. at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)

我的buildpath中有wlclient.jar,wlsafclient.jar和weblogic.jar.我已经尝试了添加/删除这些罐子的各种组合,但无论我做什么,我仍然会得到相同的错误.任何帮助将不胜感激.

最佳答案
在做了一些研究之后,我正在删除我的旧答案并重新开始.

Oracle Doc for WebLogic Standalone Clients中有一个大型客户端类型表.对于列出的每种类型的客户端,该表显示了所需的jar文件.对于某些类型的客户端,您需要构建一个额外的jar(wlfullclient.jar)并包含它.

希望这可以帮助.

猜你在找的MySQL相关文章