解决W7下找不到ODBC---在64位客户端使用32位的ODBC配置.docx_第1页
解决W7下找不到ODBC---在64位客户端使用32位的ODBC配置.docx_第2页
解决W7下找不到ODBC---在64位客户端使用32位的ODBC配置.docx_第3页
解决W7下找不到ODBC---在64位客户端使用32位的ODBC配置.docx_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

这个场景比较特殊,是一个客户遇到的问题触发我写的这篇文章。数据库服务器通常安装的都是64位的操作系统和64位的数据库软件。客户端使用的操作系统和客户端程序复杂度远比服务器要多很多,安装的客户端操作系统既可能是32位,也可能是64位,在32位的操作系统只能安装32位的数据库客户端软件。在64位的客户端操作系统可以安装32位和64位的数据库客户端软件,但是如果客户端使用pl/sql,那么只能安装32位的Oracle数据库客户端(pl/sql不支持64位的Oracle客户端),如果开发的软件只支持32位平台的,那么在64位的客户端操作系统可能也只能安装32位的Oracle数据库客户端软件,通过32位的Oracle 数据库客户端软件连接到64位的数据库。 这个项目要实现这样一个目的,开发的Java程序(C/S架构)只支持32位,那么必须通过配置32位的ODBC(必须安装32位的Oracle客户端,开发的Java程序无法加载64位的Oracle数据库客户端驱动)连接到64位的数据库环境,该程序必须确保在32位的客户端和64位的客户端操作系统都能正常使用,32位的客户端下运行是没问题的,这里讨论的就是在64位客户端下运行,通过32位ODBC连接数据库遇到的问题。讨论场景的服务器、客户端配置如下: 服务器操作系统:Redhat Enterprise 5.4 x86_64bit 数据库服务器:Oracle 11gR2RACDatabase64bit 客户端:Win7旗舰版 x86_64bit Oracle Database客户端:Oracle 11gR2 Database x86 Java JDK:jdk-6u31-windows-i586下面对遇到的问题及解决方法进行讨论:1.数据库支持的操作系统版本。 数据库运行在Linux环境,客户端都运行在Windows平台,首先明确Oracle数据库支持的Windows平台。从上面的文档中可以看出Oracle的11gR2数据库产品是完全支持Windows7的专业版、企业版和旗舰版,所以在这样的平台安装数据库和客户端都是没有问题的。2.安装32位的Oracle Database客户端软件。 在win7 64bit的客户端安装32位的Oracle Database客户端软件,安装后准备配置ODBC的时候发现一个问题,通过传统的控制面板-ODBC管理器-创建ODBC数据源的方式无法找到相应的Oracle Database驱动程序,如下图所示。从上图可以看出没有Oracle Database的驱动程序。3.打开加载32位驱动程序的ODBC管理器。 通过传统的方式之所以无法找到Oracle Database驱动程序,原因在于平台是64位,但安装的是32位的Oracle Database软件,常规的ODBC管理器不会加载32位的驱动程序。通过执行C:WindowsSysWOW64odbcad32.exe程序可以打开加载32位驱动程序的ODBC管理器,如下图所示。上图中的Oracle in OraDb11g_home1即使32位的客户端驱动程序。4.创建连接数据库的ODBC数据源。 如下图所示,创建连接到数据库的ODBC数据源。5.准备测试环境。 使用JCreator运行一段通过配置的ODBC连接数据库的代码,确保编译和执行Java代码使用的是32位的JDK,执行的代码如下:import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;public class Java_Odbc_Sql private static final String drivename=sun.jdbc.odbc.JdbcOdbcDriver; private static final String url=jdbc:odbc:testodbc;user=system;password=oracle ; public static void getCon() throws Exception try Class.forName(drivename);/在JVM中注册JDBC驱动程序 SuppressWarnings(unused) Connection con=DriverManager.getConnection(url);/建立到DBMS的连接 catch (SQLException e) System.err.println(e.getMessage(); throw e; catch (Exception e) System.err.println(e.getMessage(); throw e; /* * 连接测试 * param agrs */ public static void main(String agrs) try getCon(); System.out.println(连接成功!); catch(Exception e) System.out.println(连接失败!); e.printStackTrace(); 6.运行测试代码。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论