2014-09-23 155 views
0

在處理一些代碼時,我得到了followinh錯誤,代碼和錯誤如下,告訴我是否需要進一步解釋.. ........ ....使用oracle數據庫通過jdbc實現連接池時出現錯誤

import java.util.Hashtable; 

import javax.naming.*; 
import javax.naming.directory.*; 



public class OracleDataSourceRegisterJNDI { 
public static void main(String[] args) { 
    try { 
     // Set up data source reference data for naming context: 
     // ---------------------------------------------------- 
     // Create a class instance that implements the interface 
     // ConnectionPoolDataSource 
     OracleDataSource ds = new OracleDataSource(); 
     ds.setDescription(
     "Oracle on Sparky - Oracle Data Source"); 
     ds.setServerName("sparky"); 
     ds.setPortNumber(1521); 
     ds.setUser("scott"); 
     ds.setPassword("test"); 
     // Set up environment for creating initial context 
     Hashtable env = new Hashtable(); 
     env.put(Context.INITIAL_CONTEXT_FACTORY, 
     "com.sun.jndi.fscontext.RefFSContextFactory"); 
     env.put(Context.PROVIDER_URL, "file:c:\\JDBCDataSource"); 
     Context ctx = new InitialContext(env); 
     // Register the data source to JNDI naming service 
     ctx.bind("jdbc/ConnectSparkyOracle", ds); 
     } catch (Exception e) { 
     System.out.println(e); 
     return; 
     } 
     } 
} 

我想使用連接池使用oracle數據庫我得到以下錯誤,請幫助我。

>

ERROR :;

javax.naming.NoInitialContextException: Cannot instantiate class: com.sun.jndi.fscontext.RefFSContextFactory [Root exception is java.lang.ClassNotFoundException: com.sun.jndi.fscontext.RefFSContextFactory] 
+0

和你使用的是什麼版本的jdk – Satya 2014-09-23 06:44:55

+0

我正在使用jdk 1.6 @Satya – punesh 2014-09-23 06:49:55

+0

可能這會幫助你。 http://www-01.ibm.com/support/docview.wss?uid=swg21408217 – 2014-09-23 07:05:07

回答

0

不確定代碼。但是這是一個類路徑問題,你從類路徑中缺少必需的jar。參考:http://www.findjar.com/class/com/sun/jndi/fscontext/RefFSContextFactory.html

+0

感謝您的迴應,但我現在得到一個新的錯誤,javax.naming.NameNotFoundException;剩餘的名字'c:\ JDBCDataSource' – punesh 2014-09-23 07:24:05

+0

現在我想這是你的代碼。 Env安裝明智的東西看起來不錯。正如我所提到的,我不確定代碼,在實施之前您可能已經研究了一下 – 2014-09-23 14:35:01

相關問題