我已成功在10.6上安装了本机Oracle,并且可以使用'oracle'成功编译和执行示例Pro * C代码帐户(即与安装该软件的操作系统用户相同)。那真是一件有趣的工作。它甚至可以与clang一起使用。是否有人有Oracle Pro * C使用非Oracle用户帐户在OS X 10.6上工作
但是,在我们的常规开发环境中,源代码,构建脚本,make文件等由不同的Unix组和用户拥有 - 可以访问受限制的Oracle工具集(sqlplus,exp,proc等)。
尝试使用SQLPLUS从Oracle安装给(已知的问题)
dyld: Library not loaded: /b/227/sqlplus/lib/libsqlplus.dylib
尽管这是DYLD_LIBRARY_PATH绝对正确设置。有人进行了更多的调查,认为在该过程开始之前,图书馆路径的某处已经被解除。
我放弃了,只是用instantclient去代替。
不幸的是,instantclient SDK仅仅是OCCI--它不包含pro * c编译器。
所以我回到试图让'dev'用户能够在oracle bin目录中执行'proc'。我已经解决了一个dylib问题(使用符号链接)以及各种文件权限问题(需要将-r文件授予/ precomp目录层次结构中的文件)。
现在我得到一个核心转储(oracle用户下运行时不会发生)
System default option values taken from:
/Users/oracle/product/10.2.0/db_1/precomp/admin/pcscfg.cfg
INTERNAL ERROR: Failed assertion [PGE Code=90105]
Segmentation fault
有什么建议?有没有人真的成功做到这一点?
啊,当然 - 简单的权限错误(谢谢谷歌) - proc编译器试图在与源代码相同的目录中编写代码,而不是本地代码。良好的防御性编码和错误处理。 又一步 - 现在我只需要让我的链接工作到标准的sqlca等结构。 – JulesLt 2010-08-09 21:53:25
这是否意味着你可以完成任务?如果是这样,请输入自己的答案并接受它。 – 2010-08-09 23:01:30
尚未,但希望很快。它变成'有趣的'(所需的示例make文件等,不在记录在案的地方)。 – JulesLt 2010-08-10 07:08:53