⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bridge.doc.html

📁 JDBC入门中文文档
💻 HTML
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>

<head>
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=gb2312">
<title></title>
</head>

<body bgcolor="#ffffff">

<table width="600">
  <tr>
    <td><font size="-1"><a href="introTOC.doc.html">目录</a> | <a
    href="SimpleSelect.doc.html">上一页</a> | 下一页 </font></td>
    <td align="right"><i>JDBC<sup><font size="-2">TM</font></sup> 指南: 入门</i></td>
  </tr>
</table>

<hr>

<p><br>
<a name="996747"></a> </p>

<h1>10 - JDBC-ODBC 桥驱动程序 </h1>

<a name="997135"></a>
<h2>10.1 JDBC-ODBC 桥</h2>

<p>如果可能,则使用纯 Java JDBC 驱动程序代替桥和 ODBC 
驱动程序。这便完全省去了 ODBC 所需的客户机配置。也免除了 Java虚拟机被桥引入的本地代码(即桥本地库、ODBC 
驱动程序管理器库、ODBC 
驱动程序库和数据库客户机库)中的错误所破坏的可能性。 </p>

<p><a name="996913"></a> </p>

<h3>10.1.1 什么是 JDBC-ODBC 桥? </h3>

<p>JDBC-ODBC 桥是一个 JDBC 驱动程序,它通过将 JDBC 操作转换为 ODBC 
操作来实现 JDBC 操作。对 ODBC,它象是通常的应用程序。桥为所有对 
ODBC 可用的数据库实现 JDBC。它作为 <code>sun.jdbc.odbc</code> Java 
包实现,其中包含一个用来访问 ODBC 的本地库。桥是 Intersolv 和 
JavaSoft 联合开发的。 </p>

<p><a name="996914"></a> </p>

<h3>10.1.2 支持 ODBC 的哪一版本?</h3>

<p>桥支持 ODBC 2.x。这是当前大多数 ODBC 
驱动程序支持的版本。它还可能支持即将出台的 ODBC 3.x 
驱动程序;但还未经测试。 </p>

<p><a name="996915"></a> </p>

<h3>10.1.3 桥实现</h3>

<p>桥用 Java 实现,并使用 Java 本地方法调用 ODBC。 </p>

<p><a name="996916"></a> </p>

<h3>10.1.4 安装</h3>

<p>桥作为包 <code>sun.jdbc.odbc</code> 与 JDK 
一起自动安装。有关安装和配置 ODBC 的信息,请咨询 ODBC 
驱动程序厂商。桥无须特殊配置。有关客户机安装和配置信息,请咨询数据库厂商。在 
Solaris 中,一些 ODBC 驱动程序管理器将库命名为 <code>libodbcinst.so</code> 
和 <code>libodbc.so</code>。而桥希望将这些库命名为 <code>libodbcinst.so.1</code> 
和 <code>libodbc.so.1</code>,因此必须为这些名称创建符号链接。 </p>

<p><a name="996917"></a> </p>

<h2>10.2 使用桥 </h2>

<p>通过 <code>odbc</code> 子协议,使用 URL 打开 JDBC 连接即可使用桥。 
请参阅下面的 URL 示例。建立连接前,必须将桥驱动程序类 <code>sun.jdbc.odbc.JdbcOdbcDriver</code> 
添加到名为 <code>jdbc.drivers</code> 的 <code>java.lang.System</code> 
属性中,或用 Java 
类加载器将其显式地加载。可以用以下一行代码进行桥的显式加载: 
</p>

<pre><a name="996978"></a>    Class.forName(&quot;sun.jdbc.odbc.JdbcOdbcDriver&quot;);
</pre>

<p>加载时,ODBC 驱动程序(与所有好的 JDBC 
驱动程序一样)将创建它自己的实例,同时在 JDBC 
驱动程序管理器中进行注册。 </p>

<p><a name="996918"></a> </p>

<h3>10.2.1 从 applet 中使用桥</h3>

<p>使用纯 Java JDBC 驱动程序的 JDBC 在 applet 
中运行良好。桥驱动程序不能很好地与 applet 协同运行。 </p>

<p><a name="996919"></a> </p>

<h3>10.2.2 大多数浏览器不支持桥</h3>

<p>因为桥是 JDK 
的可选组件,所以浏览器可能不提供它。即使提供,也只有可信任的 
applet(允许对文件进行写操作的)才能使用桥。这是保证 applet 
沙箱安全所必需的。最后,即使 applet 
是可信任的,也必须在每个客户机上配置 ODBC 和 DBMS 客户机库。 </p>

<p><a name="996920"></a> </p>

<h3>10.2.3 经过测试的配置 </h3>

<p>在 Solaris 中,我们使用桥访问在 Solaris 上运行的 Oracle 7.1.6 和 Sybase 
10。在 NT 中,我们使用桥来访问 SQL Server 6.x。 </p>

<p><a name="996921"></a> </p>

<h3>10.2.4 可以与桥搭配使用的已知 ODBC 驱动程序</h3>

<p>Visigenic 提供已和桥测试过的 ODBC 驱动程序。驱动程序可用于 Oracle、Sybase、Informix、Microsoft 
SQL Server 和 Ingres。要购买 ODBC DriverSet 2.0,请与 Visigenic 
销售部门联系(415-312-7197),或访问网站 <code>www.visigenic.com</code>。INTERSOLV 
ODBC 驱动程序套件应该与 JDBC-ODBC 桥完全兼容。 
以下驱动程序已成功通过了最小测试:Oracle、xBASE、Sybase(仅 Windows 
NT/95)、Microsoft SQL-Server 和 Informix。 要评估或购买 INTERSOLV ODBC 
驱动程序,请与 INTERSOLV DataDirect 销售部门联系(1- 800-547-4000 选项 2)或访问网站 
<code>http:\\www.intersolv.com</code>。MS SQL Server 驱动程序已在 NT 
上成功使用。其它许多 ODBC 驱动程序不久也将成功运行。 </p>

<p><a name="996922"></a> </p>

<h3>10.2.5 ODBC 驱动程序不兼容性</h3>

<p>在 Solaris 中,我们发现 Sybase 基于 ctlib 的驱动程序不能运行,因为 
ctlib 与 Java 虚拟机有信号处理冲突。 因为 NT Java 虚拟机与 Solaris 
的有所不同,所以这可能不是 NT 的问题;但这一点还未证实。 一些 
ODBC 驱动程序在每次连接中仅允许一个结果集是活跃的。 </p>

<p><a name="996923"></a> </p>

<h3>10.2.6 桥支持什么 JDBC URL? </h3>

<p>桥驱动程序使用 <code>odbc</code> 子协议。 该子协议的 URL 
为以下形式: </p>

<pre><a name="997124"></a>    <code>jdbc:odbc:&lt;data-source-name&gt;[&lt;attribute-name&gt;=&lt;attribute-value&gt;]*
</code></pre>

<p>例如: </p>

<pre><a name="997006"></a>    jdbc:odbc:sybase
<a name="997007"></a>    jdbc:odbc:mydb;UID=me;PWD=secret
<a
name="997013"></a>    jdbc:odbc:ora123;Cachesize=300
</pre>
<a name="996924"></a>
<h3>10.2.7 调试</h3>

<p>启用 <code>DriverManager</code> 跟踪时,桥提供很多跟踪信息。 
下面一行代码将启用跟踪,并将其发送到标准输出: </p>

<pre><a name="997072"></a>     java.sql.DriverManager.setLogStream(java.lang.System.out);
</pre>
<a name="996927"></a>
<h2>10.3 一般注意事项</h2>

<p>桥假定 ODBC 驱动程序是不可重入的。 
即桥必须同步地访问这些驱动程序。 
结果是:桥只能提供有限的同时性。 这是桥的局限。 大多数纯 Java 
JDBC 驱动程序能提供所需级别的同时访问功能。 </p>

<p><a name="996877"></a> </p>

<p><br>
</p>

<hr>
<font size="-1"><a href="introTOC.doc.html">

<p>目录</a> | <a href="SimpleSelect.doc.html">上一页</a> | 下一页 </font></p>

<hr>

<address>
  <a href="mailto:jdbc@wombat.eng.sun.com">jdbc@wombat.eng.sun.com</a> 或 <a
  href="mailto:jdbc-odbc@wombat.eng.sun.com">jdbc-odbc@wombat.eng.sun.com</a> 
</address>
<a href="copyright.doc.html"><font size="-1"><i>

<p>版权所有 ?1996, 1997 Sun Microsystems, Inc. 保留所有权利。</i></font> </a><!-- HTML generated by dkramer on March 14, 1997 --> </p>
</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -