【问题标题】:Internals of Oracle driverOracle 驱动程序的内部结构
【发布时间】:2012-01-28 14:28:25
【问题描述】:

我在哪里可以找到 Oracle 如何在最低级别(我的意思是在套接字级别)与数据库进行通信的信息?我想编写一个程序(没有 jdbc),它只执行一些语句(选择或创建)。所以我需要知道 Oracle 使用什么协议来做到这一点。

【问题讨论】:

    标签: java oracle jdbc driver


    【解决方案1】:

    您为什么要/需要为此消除 JDBC?这正是 JDBC 存在的原因,也是 Oracle 为其数据库提供 JDBC 驱动程序的原因。即使您尝试执行的操作存在一些低级协议文档,您也无法保证它可以在 Oracle 版本等之间移植。

    我将假设您希望取消安装 Oracle 客户端。如果是这种情况,请确保您使用的是 type 4 JDBC 驱动程序,或 Oracle 的“瘦”驱动程序 - 可从 http://www.oracle.com/technetwork/database/enterprise-edition/jdbc-112010-090769.html 获得。这正是您可能正在尝试做的事情 - 通过纯 Java 连接到 Oracle 数据库,无需安装任何其他软件 - 尽管从技术上讲它仍然是 JDBC。

    如果您仍然坚持不使用任何 Oracle 客户端组件(即使只包括 Oracle 4 类 JDBC 驱动程序),这里还有一些您可能感兴趣的附加链接:

    我在哪里可以获得 Oracle 的线路级协议规范?

    甲骨文。 在 Oracle 之外,只有少数线级驱动程序供应商拥有它。 同样,与驱动程序供应商不同的是,Oracle 是唯一一家拥有 分发它的许可。而且,在你问之前,我从未见过 规范自己。我所有的协议知识都是基于多年的 研究和重大的反复试验。

    这个项目(曾经)在 http://sourceforge.net/projects/sibylnet/ 上可用,但自 2008 年 10 月 7 日以来没有看到任何更新,并且没有任何文件或源代码可用。

    【讨论】:

    • 瘦驱动是Type 4驱动,不是Type 3(一种“数据库代理中间件驱动”)。
    【解决方案2】:

    您可以查看 Oracle 在 Oracle Call Interface 上的文档。它适用于 C,而不是 Java,但如果你将它包装在一些 Java Native Interface 的东西中,你也许可以练习如何调用它。

    并不是说它会无痛,但……这是一个尝试的方向。

    /b

    【讨论】:

      猜你喜欢
      • 2013-01-16
      • 1970-01-01
      • 2021-11-12
      • 2012-11-25
      • 1970-01-01
      • 2014-10-03
      • 2011-12-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多