繁体   English   中英

在Mac OS X 10.10中,如何使ibm_db for Node.js与DB2一起使用?

[英]How do I get ibm_db for Node.js to work with DB2 in Mac OS X 10.10?

当前,我正在尝试使用ibm_db node.js模块将应用程序与DB2连接起来,就像我在Windows(过去工作站的操作系统)上所做的那样。 我遵循了有关Mac OS X和ibm_db python模块的一些指南 ,以防万一,但是它也不起作用。 ibm_db必须安装,但是当我进行第一次数据库交互时,它将引发错误:

dyld: lazy symbol binding failed: Symbol not found: _SQLAllocHandle
Referenced from: /Users/devniel/dev/Pon.de.tu.parte/node_modules/ibm_db/build/Release/odbc_bindings.node
  Expected in: dynamic lookup

dyld: Symbol not found: _SQLAllocHandle
  Referenced from: /Users/devniel/dev/Pon.de.tu.parte/node_modules/ibm_db/build/Release/odbc_bindings.node
  Expected in: dynamic lookup

我在Github上发布了一个问题 ,他们向我解释说,原因是缺少适用于Mac OS X的DS驱动程序,因此, 有没有办法像python一样做到这 一点 (明天我会尝试)。

如果您的Mac(即服务器)上安装了DB2 Express-C,则您已经具有所需的客户端库。 在构建ibm_db ,可以将IBM_DB_HOME环境变量指向DB2实例所有者的sqllib目录。 例如:

export IBM_DB_HOME=/Users/db2inst1/sqllib

注:尽管当前发行版的bindings.gyp文件存在问题,但它无法在Mac OS X上进行构建(已配置为仅在Linux上进行构建),但ibm_db将可以构建和运行。 您可以将以下条件添加到bindings.gyp中,以便使用node-gyp构建它:

    [ 'OS == "mac" and target_arch =="x64" ', {
      'libraries' : [
        '-L$(IBM_DB_HOME)/lib -L$(IBM_DB_HOME)/lib64 ',
        '-ldb2'
      ],
      'include_dirs': [
        '$(IBM_DB_HOME)/include'
      ],
      'cflags' : [
        "-g "
      ],
    }]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM