首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用JNI向JVM公开C ODBC连接?

如何使用JNI向JVM公开C ODBC连接?
EN

Stack Overflow用户
提问于 2008-10-07 20:12:10
回答 2查看 839关注 0票数 1

我正在使用调用API在现有的C应用程序中嵌入一个JRE,我希望能够使用JDBC来处理该代码中的数据库。该应用程序是一个事务处理应用程序,数据库事务由应用程序C部分中的代码管理,java代码必须在该事务中运行。这意味着我不能打开一个新的连接,我必须重用现有的连接。

那么,在设置JRE时,是否有一种方法可以提供对现有ODBC连接句柄的JDBC访问?可能有些JDBC桥,但与现有的驱动程序同名不同,它可以设置为使用现有的连接和事务。

在我看来,我的其他选择如下:

  • 为应用程序中可能的每一个C操作提供java等价物(这是不可取的,因为有很多原因--我们有很多方法,而重复它们是很麻烦的事情。
  • 编写自己的JDBC驱动程序,用JNI封装ODBC连接。当然,这将是一个有趣的周末(月)项目,但我希望做一些更快的事情。

帮帮我,堆积如山,你是我唯一的希望!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2008-10-07 21:22:06

不知道这能不能用,但是.我快速地查看了Sun的JDBC桥的反编译源代码。似乎您可以子类JdbcOdbcConnection,以便它用已知的连接句柄和已经打开的状态初始化自己。这假设Java端的连接句柄是实际的ODBC连接句柄或指向连接对象的指针,并且JDBC-ODBC桥使用的ODBC库与您的代码是兼容的,因为它们可以共享连接句柄。

不过,您需要检查Sun的许可证是否允许开发人员执行这种骗术。

票数 1
EN

Stack Overflow用户

发布于 2008-10-07 20:31:03

Sun在JDK中提供了一个JDBC-ODBC桥

编辑:重读听起来好像你已经知道了,而且不想使用它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/180167

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档