簡體   English   中英

Node.js 到 DB2(使用 ibm_db)

[英]Node.js to DB2 (using ibm_db)

我已按照說明操作: https : //www.ibm.com/developerworks/community/blogs/pd/entry/using_ibm_db2_from_node_js4?maxresults=15&page=0&lang=en用於 32 位 Ubuntu 安裝。

它似乎已正確安裝,我可以運行 require('ibm_db')。 使用提供的示例代碼(nodedb2test.js),無論我使用什么數據庫參數,都會出現錯誤:

node nodedb2test.js
Test program to access DB2 sample database
*** stack smashing detected ***: node terminated
Aborted (core dumped)

下面是示例代碼:

/*require the ibm_db module*/

var ibmdb = require('ibm_db');
console.log("Test program to access DB2 sample database");

ibmdb.open("DRIVER={DB2};DATABASE=testdb;UID=username;PWD=password;HOSTNAME=localhost;port=3000", function(err, conn)

{
        if(err) {
            console.error("error: ", err.message);
           }

});

另外我看我需要連接的DB2版本是6版本。我已經安裝了BM Data Server Driver 10.5版本,這是否與DB2版本相對應? 看來v9.1以下的驅動程序不可用。

我們也可以使用ibm_db而不安裝IBM數據服務器驅動程序包。 ibm_db在內部使用DB2 V10.5FP5 ODBC / CLI驅動程序與DB2服務器通信。 請共享已安裝ibm_db的平台信息和操作系統版本。 14年6月,Linuxppc,AIX和zLinux平台支持ibm_db,但支持最新版本。 如果最新的驅動程序不適合您,請在github.com/ibmdb/node-ibm_db/issues/new上打開一個問題。 謝謝。

在撰寫本文時,這對我有用。

C:\\Development\\Javascript>node -p "process.arch" x64

C:\\Development\\Javascript>node -p "process.platform" win32

C:\\Development\\Javascript>node -p "process.version" v14.17.5

C:\\Development\\Javascript>npm install ibm_db

var ibmdb = require("ibm_db");

const config = require("config");
const hostname = config.get("db2.hostname");
const username = config.get("db2.username");
const password = config.get("db2.password");

ibmdb.open("DRIVER={DB2};DATABASE=bludb;HOSTNAME=" + hostname + ";UID=" + username + ";PWD=" + password + ";PORT=31198;PROTOCOL=TCPIP;SECURITY=SSL", function (err, conn){

  if (err) return console.log(err);

  conn.query("SELECT * FROM orders", function (err, data) {

    if (err) console.log(err);

    console.log(data);

    conn.close(function () {
      console.log('done');
    });

  });

});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM