【问题标题】:informix DB with RobotFramework带有 RobotFramework 的 informix DB
【发布时间】:2018-11-07 22:02:17
【问题描述】:

我正在尝试从 Mac 上运行的 Robotframework 脚本连接到 informix DB。我已经从http://franz-see.github.io/Robotframework-Database-Library/ 安装了 Robotframework-Database-Library[1.0.1]。

尝试按照https://wiki.python.org/moin/Informix 安装 Informix DB。遇到问题

错误:找不到 esql。请正确设置 INFORMIXDIR。

尝试使用 python 安装 mxODBC。仍然遇到错误

我已经安装了 egenix-mx-base-3.2.9-py2.7_ucs2-macosx-10.5-x86_64-prebuilt 因为这是先决条件。尝试使用 mx-base 验证。

$ pip install egenix-mx-base 已满足要求:/Library/Python/2.7/site-packages 中的 egenix-mx-base。

然后尝试安装 egenix-mxodbc-3.3.6-py2.7_ucs2-macosx-10.4-fat-prebuilt。

msuresh$ python setup.py install 运行安装 找到可用的构建数据文件“build/build-py2.7_ucs2.pck” 找到预建档案:跳过构建过程并加载预建档案 将平台设置为“macosx-10.4-fat” 将 distutils 平台字符串从“macosx-10.13-x86_64”调整为“macosx-10.4-fat” 从以前的构建运行恢复构建数据 为平台“macosx-10.4-fat”加载构建数据 运行 install_lib 编写字节编译脚本'/var/folders/dc/nwlkjl0129d3qm1j8m5czmgsnkqkf_/T/tmpRNEu3H.py' /usr/local/opt/python@2/bin/python2.7 -O /var/folders/dc/nwlkjl0129d3qm1j8m5czmgsnkqkf_/T/tmpRNEu3H.py 删除 /var/folders/dc/nwlkjl0129d3qm1j8m5czmgsnkqkf_/T/tmpRNEu3H.py 运行 install_data 运行 install_egg_info 删除 /usr/local/lib/python2.7/site-packages/egenix_mxodbc-3.3.6-py2.7.egg-info 编写/usr/local/lib/python2.7/site-packages/egenix_mxodbc-3.3.6-py2.7.egg-info

但在尝试验证 mxodbc --> 时确实出错了。

>>> 导入 mx.ODBC.Manager 回溯(最近一次通话最后): 文件“”,第 1 行,在 文件“mx/ODBC/Manager/__init__.py”,第 48 行,在 ImportError:无法导入受支持的 ODBC 管理器 unixODBC、iODBC 或 DataDirect:dlopen(/usr/local/lib/python2.7/site-packages/mx/ODBC/unixODBC/mxODBC.so, 2):没有合适的图像成立。发现: /usr/local/lib/python2.7/site-packages/mx/ODBC/unixODBC/mxODBC.so:通用包装器中没有匹配的体系结构 /usr/local/lib/python2.7/site-packages/mx/ODBC/unixODBC/mxODBC.so:通用包装器中没有匹配的体系结构,dlopen(/usr/local/lib/python2.7/site-packages/mx /ODBC/iODBC/mxODBC.so, 2): 找不到合适的图像。发现: /usr/local/lib/python2.7/site-packages/mx/ODBC/iODBC/mxODBC.so:通用包装器中没有匹配的体系结构 /usr/local/lib/python2.7/site-packages/mx/ODBC/iODBC/mxODBC.so:通用包装器中没有匹配的架构,没有名为 DataDirect 的模块

.. 任何通过 Robotframework 获得 informix 连接的帮助将不胜感激。

【问题讨论】:

  • 您是否在egenix-mxodbc 页面上完成了安装过程?
  • 是的,我已经安装了 egenix-mx-base-3.2.9-py2.7_ucs2-macosx-10.5-x86_64-prebuilt,然后尝试安装 egenix-mx-base-3.2.9-py2 .7_ucs2-macosx-10.5-x86_64-prebuilt。尝试使用 --> $ pip install egenix-mx-base 验证 mx-base 已满足要求:/Library/Python/2.7/site-packages 中的 egenix-mx-base。但是在尝试验证 mxodbc --> 时确实出错了。 > ** ImportError:无法导入受支持的 ODBC 管理器 unixODBC、iODBC 或 DataDirect:dlopen(/usr/local/lib/python2.7/site-packages/mx/ODBC/unixODBC/mxODBC.so, 2):没有找到合适的图片。找到了:**
  • 您能否将信息添加到问题本身,而不是作为评论发布。这将为您提供更多格式选项,并将您的所有信息保存在一个地方。
  • 感谢您的提示。我希望我已经把问题说清楚了
  • Robotframework-Database-Library 转到链接的A Database API Specification 2.0 Python Module 页面上,您会在[通用数据库](wiki.python.org/moin/…) 下找到Informix。在mxODBC 部分下,您会发现以下注释:The Informix ODBC drivers needed for mxODBC are included in the Informix CSDK. 您安装了吗?

标签: python-3.x robotframework informix


【解决方案1】:

听起来您需要从here 下载并安装 Informix Client SDK

【讨论】:

  • 请不要只发布一些工具或库作为答案。至少在答案本身中展示它是如何解决问题的
  • 客户端 SDK 是 mxODBC 驱动程序的先决条件,根据 A。上面的 Kootstra。我只是分享从哪里获得它,因为 IBM 的网站很糟糕。我不确定你还想让我补充什么?
  • 您可以将其添加为问题的评论。否则,请在答案中详细说明 y 这个 sdk 以及这是为了什么......?......
  • 我无法将其添加为评论,因为我没有足够的声誉。
猜你喜欢
  • 2012-09-23
  • 2017-12-11
  • 1970-01-01
  • 2023-03-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多