【发布时间】:2012-01-28 14:28:25
【问题描述】:
我在哪里可以找到 Oracle 如何在最低级别(我的意思是在套接字级别)与数据库进行通信的信息?我想编写一个程序(没有 jdbc),它只执行一些语句(选择或创建)。所以我需要知道 Oracle 使用什么协议来做到这一点。
【问题讨论】:
我在哪里可以找到 Oracle 如何在最低级别(我的意思是在套接字级别)与数据库进行通信的信息?我想编写一个程序(没有 jdbc),它只执行一些语句(选择或创建)。所以我需要知道 Oracle 使用什么协议来做到这一点。
【问题讨论】:
您为什么要/需要为此消除 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 日以来没有看到任何更新,并且没有任何文件或源代码可用。
【讨论】:
您可以查看 Oracle 在 Oracle Call Interface 上的文档。它适用于 C,而不是 Java,但如果你将它包装在一些 Java Native Interface 的东西中,你也许可以练习如何调用它。
并不是说它会无痛,但……这是一个尝试的方向。
/b
【讨论】: