Java ODBC和Microsoft.Jet.OLEDB.4.0

时间:2011-07-15 11:46:17

标签: java jdbc odbc oledb

我想使用第三方应用程序提供的连接字符串来访问数据库。我有一个示例配置,其连接字符串如下所示:

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\path\to\theDatabase.mdb;Persist Security Info=False

致电

DriverManager.getConnection("jdbc:odbc:" + connectionString);

给我一​​个SQLException:[Microsoft] [ODBC Driver Manager]找不到数据源名称,没有指定默认驱动程序

  • 第三方应用程序可以毫无问题地访问数据库。
  • 操作系统是Windows XP Service Pack 3并且是最新的。
  • system32文件夹中的msjet40.dll版本为4.0.9511.0(根据http://support.microsoft.com/kb/239114/en-us更新)
  • 该文件存在,我可以使用jdbc:odbc:DRIVER={Microsoft Access Driver (*.mdb)};C:\path\to\theDatabase.mdb
  • 访问它

我只是不知道自己做错了什么。

3 个答案:

答案 0 :(得分:2)

您的odbc连接存在问题 要连接访问数据库,请尝试以下

 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    Connection con = DriverManager.getConnection("jdbc:odbc:connSource");

转到ControlPanel-> AdministrativeTools-> DataSource(ODBC) - >系统DSN-> ADD-> MicrosoftAccess->

然后在名称字段中将Source Name命名为connSource。

您必须在DriverManager.getConnection方法中使用此名称而不是数据库名称。

因为getConnectionMethod取源名称而不是数据库名称。所以你的代码无效。

答案 1 :(得分:1)

这可能是个问题。我不知道OLE DB数据源的任何JDBC驱动程序。在这里,这些问题没有三月的答案:https://stackoverflow.com/questions/5184046/jdbc-oledb-bin

答案 2 :(得分:0)

请参阅下面的网站,其中包含所有数据库的所有变体的连接字符串

http://www.connectionstrings.com/