FreeBSD POSIX C Oracle API

FreeBSD POSIX C Oracle API,c,oracle,api,posix,freebsd,C,Oracle,Api,Posix,Freebsd,我很难找到FreeBSD的Oracle调用接口。我可能错过了一些简单的东西,但我在网上搜索了好几天,最后以这个问题结束 我的任务相当简单:用posix C编写一个程序,连接到Oracle数据库并在FreeBSD机器上工作。在最坏的情况下,我会放弃POSIX和FreeBSD部分,让它在Linux上工作,但到目前为止,我的目标是在BSD上这样做。以下是我到目前为止的发现: 我还没有测试过的GNU库,如果有人知道它,请告诉我: 如果你有任何关于如何做得更好的建议,请告诉我。如果您有这种情况的经验,

我很难找到FreeBSD的Oracle调用接口。我可能错过了一些简单的东西,但我在网上搜索了好几天,最后以这个问题结束

我的任务相当简单:用posix C编写一个程序,连接到Oracle数据库并在FreeBSD机器上工作。在最坏的情况下,我会放弃POSIX和FreeBSD部分,让它在Linux上工作,但到目前为止,我的目标是在BSD上这样做。以下是我到目前为止的发现:

我还没有测试过的GNU库,如果有人知道它,请告诉我:


如果你有任何关于如何做得更好的建议,请告诉我。如果您有这种情况的经验,甚至更好。

Oracle本身不支持FreeBSD。但是,他们的Linux客户端库中有一些端口是为在操作系统上工作而设计的:

不幸的是,上述两个版本目前仅在i386上运行,但是您可以使用与端口作者相同的技术来处理x86_64 Linux二进制文件,使其在FreeBSD/amd64下工作

还有一个开放源码ODBC驱动程序的端口:


这一个需要oracle8客户端,因此目前也是i386。

有Mac OS X的oracle实例客户端。AFAIK Mac OS与FreeBSD代码库有某种关联。所以,Mac OS客户端的适应可能比Linux客户端更容易。(但我没有尝试过)。

AFAIK oracle不支持FreeBSD。这意味着oracle库不能保证在该平台上工作。所以,从这个意义上说,你是在如履薄冰。您计划如何连接到数据库?ODBC?@jimmcnamara:正如OP提到的OCI,我怀疑连接应该通过OCI完成。@jim mcnamara连接到Oracle数据库的连接器理想情况下应该是已经运行并投入生产的大型软件的一个模块。这就是为什么我一直坚持使用FreeBSD plus,并试图与使用它的某个oracle库连接,即使它不是官方的。OCI需要像SQLNET这样的传输。它要求oracle库(例如libclntsh.so和company)驻留在本地框中。这就是我问的原因。在尝试让API工作之前,您必须知道如何设置它。我猜是ODBC。OCI确实是一个编程接口,虽然它很旧。@jimmcnamara感谢您的努力,但我们没有编写新的API就实现了该方案,我们使用mysql作为中间基础,通过ODBC连接到oracle。从性能的角度来看,这是一个很大的降级,但效果很好,老员工很容易管理。谢谢大家的帮助和关注。