2013-05-20 65 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