Lazarus 1.2.4(FPC 2.6.4) Oracle XE 11.2 Oracle Instant Client 32位(Basic& SqlPlus)
我已经能够在设计器中使用Lazarus TOracleConnection连接Windows 7和CentOS Linux。当尝试在OSX Lion中执行相同操作时,我得到“无法加载Oracle客户端库libociei.dylib。是否已安装?”它位于/ Library / Oracle / instantclient_11_2。
我可以通过Mac上的sqlplus进行连接和查询。这是我的.bash_profile的内容(路径是准确的):
DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:/Library/Oracle/instantclient_11_2
TNS_ADMIN=/Library/Oracle/instantclient_11_2/network/admin
PATH=$PATH:/Library/Oracle/instantclient_11_2
CLASSPATH=$CLASSPATH:$ORACLE_HOME
export DYLD_LIBRARY_PATH
export TNS_ADMIN
export PATH
export CLASSPATH
ORACLE_HOME在环境变量中设置为/ Library / Oracle
任何人都可以告诉我为什么不能通过在OSX上运行的Lazarus连接?
答案 0 :(得分:1)
我在Oracle和OS X中都不知道,所以我只想提出一些建议:
Afaik lazarus代码只是尝试dlopen(' libociei.dylib')。
这意味着
可以尝试使用自定义路径直接初始化oracle模块。
尝试在lpr中使用单位ocidyn然后
做一个
initialiseOCI('/your/whatever/path/libociei.dylib'); as first line in your .lpr
注意:如果错误从"更改,是否已安装?" to"它已经加载了?",你正在做某事,因为你设法加载它至少一次。我之所以提到这一点,是因为这种微妙的变化经常被忽视。
答案 1 :(得分:0)
我的直接解决方法是在终端中打开Lazarus.app。设计师按照这种方式做广告。生成的.app可以从/ Applications。
成功运行