2011-05-07 39 views
1

我想访问java上的连接。但我不能,因为它存在odbc问题。 Iam使用Windows7 x64。在Windows 7上没有安装odbc驱动程序。在Odbc Data Source Administator中是否只有System DSN。我想添加但没有odbc驱动程序,只有sql服务器。如何使用Java访问连接?

我该怎么办?

+0

Wh在RDBMS你试图访问?使用Java通常你根本不需要ODBC。 – 2011-05-07 15:41:43

+1

查看本教程 - http://support.microsoft.com/kb/313100 – CoolBeans 2011-05-07 15:54:50

回答

0

您应该考虑JDBC-ODBC桥,例如来自OpenLink。

+0

最好使用纯jdbc驱动程序,并且大多数数据库都有纯jdbc驱动程序。 – Kaj 2011-05-07 16:06:16

+0

我想访问数据库连接。所以,我需要你的ODBC驱动程序? – mstfcck 2011-05-07 16:10:48

+0

好吧,如果我正确地理解了这个问题,你拥有的就是某些ODBC数据源的DSN。如果您可以获得与源代码兼容的JDBC驱动程序,则应该使用它。如果它是一些没有JDBC驱动程序的遗留/异常的东西,只有ODBC,那么可以使用JDBC-ODBC桥作为最后的手段。 – Olaf 2011-05-07 20:25:01

1

如果您正在使用64位版本的Windows,那么您可以使用64位和32位环境。这种环境由Java(JDK或JRE)和数据库驱动程序组成。对于Java应用程序,访问数据库的最佳方式是通过JDBC驱动程序。那么您不必担心32位或64位环境,您只需将.jar文件或文件放入属于CLASSPATH环境变量一部分的目录中即可。

在MS Access的情况下,您可以使用JRE的Sun(现在的Oracle)实现中默认存在的JDBC-ODBC桥。但在此之前,您必须使用MS-Access数据库配置ODBC连接。这可以通过ODBC管理器或通过连接字符串完成。

我认为连接字符串是比较容易的,因为它看起来像:

jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=c:\\Nwind.mdb 

所有你需要做的就是在你.mdb文件指向。这应该适用于32位和64位版本的JRE。

如果你想配置ODBC数据库访问,然后使用做了32个和64位环境:

  • c:\windows\syswow64\odbcad32.exe(32位)
  • c:\windows\system32\odbcad32.exe(64位)

然后在连接字符串中,您可以使用您刚才创建的DSN名称:

jdbc:odbc:DSN_NAME 
+1

这里的问题是,如果您的Java应用程序在64位JRE中运行,并且您指定的驱动程序是32位驱动程序,则它将无法工作。该应用程序将表现得好像驱动程序不存在一样。 – 2011-06-09 04:48:41