簡體   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