0
我正在嘗試使用node-webkit創建桌面應用程序。該應用程序查詢Oracle數據庫。爲了連接數據庫,我使用了node-odbc。試用node-webkit:node-odbc失敗
我用node.js做了一個初步測試,以確保我實際上可以使用我安裝的Oracle驅動程序查詢數據庫。下面是我所做的:
index.js:
var db = require('odbc')();
var cn = 'DSN=****;Uid=****;Pwd=****;';
db.open(cn, function (err) {
if (err) return console.log(err);
db.query('select 42 from dual', function (err, data) {
if (err) console.log(err);
console.log(data);
db.close(function() {
console.log('done');
});
});
});
當我運行它,我得到下面的輸出,符合市場預期:
> node index.js
[ { '42': 42 } ]
done
然後,我創建了以下節點的WebKit包:
index.html:
<!DOCTYPE html>
<html>
<head>
<title>Hello World!</title>
<script type="text/javascript">
var db = require('odbc')();
var cn = 'DSN=****;Uid=****;Pwd=****;';
function queryDb() {
db.open(cn, function (err) {
if (err) return console.log(err);
db.query('select 42 from dual', function (err, data) {
if (err) console.log(err);
console.log(data);
db.close(function() {
console.log('done');
});
});
});
}
</script>
</head>
<body>
<input type="button" onclick="queryDb()" value="Query" />
</body>
</html>
package.json:
{
"name": "nw-demo-odbc",
"version": "0.0.1",
"main": "index.html",
"dependencies":
{
"odbc": "*"
}
}
但是當我運行這在節點WebKit和打開控制檯,會顯示以下錯誤:
C:\path\to\package\node_modules\odbc\node_modules\bindings\bindings.js:79
Uncaught Error: %1 is not a valid Win32 application.
C:\path\to\package\node_modules\odbc\build\Release\odbc_bindings.node
- 我使用NW。 js v0.12.2。
這是否與您在測試時使用的機器相同?只是基於錯誤,它看起來像一個64位與32位的問題。 – tier1
同一臺機器。目錄並排。我的node.js,node-webkit安裝是x86。 Oracle客戶端是32位。雖然我的機器是64位。 – Krumia