2013-05-20 25 views
4

有誰知道fox pro dbf的免費/開源JDBC驅動程序?foxpro的opensource jdbc驅動程序

因爲jdbc-odbc橋不適合我!檢查我的上一個問題click here

+0

FoxPro - 就像Legacy ++ :) –

+0

@RaviThapliyal他們仍然在我的公司工作:/所以任何線索? – user1912404

+0

它爲什麼需要自由/開源?如果你的公司依賴於它,他們可能會爲此付出代價。 –

回答

0

使用JDBC ODBC驅動程序,我從您之前的問題中發現您遇到類似「數據源名稱未找到」的錯誤。您提供的「VFPDS」的DSN名稱不會在控制面板中創建。

我將向您解釋在Windows中建立連接所需執行的步驟。

  1. 通過控制面板創建一個DSN(數據源名稱)。轉到 控制面板 - >管理工具 - >數據源(ODBC) - >用戶DSN->添加 - >微軟的FoxPro VFP驅動程序(* DBF) - >點擊Finsih按鈕

    如果您不能創建一個DSN那麼您需要從MicroSoft Website下載Visual Fox Pro驅動程序

  2. 現在您需要在那裏鍵入一個DSN名稱並選擇「數據庫類型 - > Free Table Directory」。瀏覽路徑到您的.dbf文件位置

  3. 現在在你的「DriverManager的」

    Eg. 
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
    con=DriverManager.getConnection("jdbc:odbc:dsnname"); 
    
  4. 使用DSN名稱如果這麼想的工作,那麼你需要從微軟的網站上下載新的ODBC驅動程序。

我會發布我的代碼,讓你完全理解。

package javaapplication2; 

    import java.sql.Connection; 
import java.sql.DriverManager; 
import java.sql.ResultSet; 
import java.sql.Statement; 

/** 
* 
* @author Ajeesh 
*/ 

public class JavaApplication2 
{ 

public static void main(String[] args) 
{ 
    Connection con=null; 
    Statement st=null; 
    ResultSet rs=null; 

    try 
    { 
     Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
     con=DriverManager.getConnection("jdbc:odbc:testdsn"); 
     st=con.createStatement(); 
     rs=st.executeQuery("SELECT * FROM TESTFOXD"); 
     while(rs.next()) 
     { 
      System.out.println("Results Field-1: "+rs.getString("FIELD1")); 
      System.out.println("Results Field-2: "+rs.getString("FIELD2")); 
     }    

    } 
    catch(Exception e) 
    { 
     e.printStackTrace(); 
    } 
    } 
} 

這裏「TESTFOXD」是我的數據庫名稱,「testdsn」是我的數據源名稱。

+0

我得到這個錯誤java.sql.SQLException:[微軟] [ODBC Visual FoxPro驅動程序]不是一個表。 – user1912404

+0

at this line:rs = st.executeQuery(「SELECT * FROM PMSPOH」); – user1912404

+0

我確信這個表存在於數據庫中,我是否應該將任何jar包裝到我的類路徑中? – user1912404