Я пытаюсь создать настольное приложение, используя 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
- Я использую ЯО. js v0.12.2.
Это на той же машине, с которой вы тестировали, когда она работала? Как раз на основании ошибки, она выглядит как 64-битная и 32-разрядная проблема. – tier1
Такая же машина. Каталоги рядом. Установки node.js, node-webkit - x86. Клиент Oracle 32 бит. Моя машина 64 бит. – Krumia