您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

将cx_Oracle部署到各种版本的Oracle Client

将cx_Oracle部署到各种版本的Oracle Client

如果要构建多个cx_Oracle版本(例如:cx_Oracle10g,cx_Oracle11g等),则需要修改cx_Oracle setup.py脚本。脚本的最后一步是对setup();的调用。第一个参数是要构建的模块的名称。您所需要做的就是将更"cx_Oracle"改为"cx_Oracle" + ver,其中ver是10g11g等等。创建多个脚本并对其进行硬编码,或者添加一个参数以setup.py动态选择它。

当然,一旦掌握了这一点,就需要一种在运行时加载正确模块的机制。为此,您需要创建自己的cx_Oracle模块,该模块的__init__.py文件如下所示:

try:
  from cx_Oracle9g import *
except ImportError:
  try:
    from cx_Oracle10g import *
  except ImportError:
    try:
      from cx_Oracle11g import *

您需要做的就是随您的应用程序一起交付自定义cx_Oracle模块以及正确的cx_OracleXg模块。

或者,您可以让自定义cx_Oracle模块动态检查每个可用的Oracle客户端库(9g,10g,11g等),然后仅导入正确的匹配cx_OracleXg模块。在这种情况下,您只需要运送一个二进制文件,其中包含您的自定义cx_Oracle模块以及所有cx_OracleXg模块。

Oracle 2022/1/1 18:39:59 有368人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶