2011-07-28 28 views
0

我試圖在兩個不同的數據源合併爲一個MBO。 sybase文檔指出您必須在java中開發自定義結果集過濾器。好。沒什麼大不了。我有些熟悉JDBC行集,所以我想我大概可以處理這個問題。所以,我去抓住JCONNECT 7並在嘗試使用JDBC驅動程序在我的結果集過濾器來獲得,我可以用它來過濾來自我連接到Web服務返回的數據集的結果集。我測試了我的下面的簡單測試連接:MBO的ResultSet過濾器 - JDBC驅動程序

try 
    { 
     DriverManager.registerDriver((Driver)Class.forName("com.sybase.jdbc4.jdbc.SybDriver").newInstance()); 
     Connection conn = DriverManager.getConnection("jdbc:sybase:Tds:localhost:5500", "dba", "sql"); 

     Statement stmt = conn.createStatement(); 

     ResultSet rs = stmt.executeQuery("Select * from traveler where traveler_id = 1"); 
     while (rs.next()) 
     { 
      System.out.println(rs.getRow()); 
     } 
    } catch (Exception se) 
    { 
     se.printStackTrace(); 
    } 

其中我得到一回,這正是我期待的行數。問題是,當我實現ResultSet中的過濾器類相同的代碼,並試圖預覽的MBO,我得到在eclipse調試控制檯下面的錯誤(蒸餾水爲清楚起見):

22:14:20 [ERROR] [ExecuteSection]: Execution error 
java.lang.reflect.InvocationTargetException... 
[...] 
Caused by: java.lang.UnsatisfiedLinkError: no dbjodbc11 in java.library.path 

這看起來像類路徑的問題,但我有我的構建路徑中JCONNECT罐子,那是由我的小測試運行成功的事實驗證。這是一個Eclipse的問題。對於移動工作區項目執行代碼時,Eclipse中使用不同的類路徑?

回答

0

可以不記得確切的道路的權利,但存在<SybaseInstallation>/UnwiredWorkspace文件夾下的第三方lib文件夾。嘗試在那裏添加你的jar。