我試圖訪問這些代碼通過Java客戶端數據源連接:Weblogic的數據源連接
Connection conn;
Statement stmt;
ResultSet rs;
try {
Properties prop = new Properties();
prop.put(javax.naming.Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
prop.put(javax.naming.Context.PROVIDER_URL, "t3://localhost:7001");
Context ctx = new InitialContext(prop);
Object obj = ctx.lookup("test/datasource");
System.out.println("Data Source Found….");
DataSource ds = (DataSource) obj;
conn = ds.getConnection();
System.out.println("Data Source User Name::"+conn.getMetaData().getUserName());
stmt = conn.createStatement();
String query = "select 1 from dual";
System.out.println("Query " + query);
rs = stmt.executeQuery(query);
if (rs != null) {
System.out.println("Some Data Found in Query");
} else {
System.out.println("No Data Found in Query");
}
ctx.close();
} catch (Exception e) {
e.printStackTrace();
}
但我得到了下面的堆棧跟蹤。我無法弄清楚發生了什麼事。有人知道嗎?
數據源中......
2012年2月13日下午4時07分28秒格林尼治標準時間03:00信息JDBC BEA-001155已經出現以下異常:
顯示java.lang.NullPointerException 在weblogic的.utils.wrapper.WrapperFactory.getCachedWrapperClass(WrapperFactory.java:55) 在weblogic.utils.wrapper.WrapperFactory.getWrapperClass(WrapperFactory.java:202) 在weblogic.utils.wrapper.WrapperFactory.getWrapperClass(WrapperFactory.java:190 ) at weblogic.utils.wrapper.WrapperFactory.createWrapper(WrapperFactory.java:175) 在weblogic.jdbc.wrapper.JDBCWrapperFactory.getWrapper(JDBCWrapperFactory.java:197) 在weblogic.jdbc.rmi.SerialConnection.readResolve(SerialConnection.java:140) 在sun.reflect.NativeMethodAccessorImpl.invoke0(本機方法) 在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 在java.lang.reflect.Method.invoke(Method.java:597) 在java.io.ObjectStreamClass.invokeReadResolve(ObjectStreamClass.java:1061) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1762) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329) at java .io.ObjectInputStrea m.readObject(ObjectInputStream.java:351) 在weblogic.utils.io.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:197) 在weblogic.rjvm.MsgAbbrevInputStream.readObject(MsgAbbrevInputStream.java:564) 在weblogic.utils。 io.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:193) at weblogic.rmi.internal.ObjectIO.readObject(ObjectIO.java:62) at weblogic.rjvm.ResponseImpl.unmarshalReturn(ResponseImpl.java:240) at weblogic。 rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:348) 在weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:259) 在weblogic.jdbc.common.internal.RmiDataSource_1031_WLStub.getConnection(未知來源)
在此先感謝。
你有沒有打開WebLogic控制檯並驗證是否一切正常您的數據源?它是否可以從Web控制檯進行測試? – Viccari 2012-02-13 20:50:44
這是否出現在系統中? 'System.out.println(「Data Source Found ...。」);' – JoseK 2012-02-14 10:19:05
謝謝你們。我已經解決了這個問題。我簡單地將weblogic控制檯上的連接字符串更改爲jdbc:oracle:thin:@(DESCRIPTION =(ADDRESS =(PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))(CONNECT_DATA =(SERVICE_NAME = OCDB )(INSTANCE_NAME = OCDB_1)))。這很奇怪,但工作! – elias 2012-02-24 18:04:17