2014-01-29 45 views
20

我要訪問的.mdb文件,並使用的NodeJS通過的NodeJS

請建議,將適合的需要的庫操縱像插入/更新訪問的.mdb文件。

謝謝。

+0

爲節點的默認文件系統庫(http://nodejs.org/api/fs.html )不足以滿足您的需求? – Ari

+0

如何使用sql語法插入/更新到文件中? – Beast

+1

這只是爲了POC,謝謝。 你能說出爲什麼你更喜歡MongoDB而不是MySQL嗎? – Beast

回答

6

本文介紹的過程中,用於連接PHP的Access數據庫的.mdb: http://www.sitepoint.com/using-an-access-database-with-php/

對Node.js的過程非常相似 - 它只是一個ODBC數據源。

你需要一個節點ODBC包裝,如: https://github.com/wankdanker/node-odbc

然後,你需要格式化您的ODBC連接字符串。例如。

"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=MyDatabase; Uid=; Pwd=;" 
+0

它會像 那樣工作path =「/path/to/the/file.mdb」; '「DRIVER = {Microsoft Access Driver(* .mdb)}; DBQ =」+ path +「; Uid =; Pwd =;」' – Beast

+0

我不確定。這可能有所幫助:http://www.connectionstrings.com/access/ –

+0

看來Dbq確實支持一條路徑。 –

4

我的建議是目前由托馬斯先生開發Janczuk作爲Edge.jsOWIN module

+0

謝謝@Michael Oskroba – Beast

19

略有不同,但節點ADODB運作良好,對我來說.ACCDB文件:

https://www.npmjs.org/package/node-adodb

// Get the adodb module 
var ADODB = require('node-adodb'); 
ADODB.debug = true; 

// Connect to the MS Access DB 
var connection = ADODB.open('Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\dbs\\my-access-db.accdb;Persist Security Info=False;'); 

// Query the DB 
connection 
    .query('SELECT * FROM [TestTable];') 
    .on('done', function (data){ 
     console.log('Result:'.green.bold, data); 
    }) 
+5

這隻適用於運行Windows的用戶。它在Mac或Linux操作系統上引發錯誤,因爲它需要MSAccess驅動程序。如果你的Win OS沒有安裝Access,你可以在這裏安裝2010版驅動http://www.microsoft.com/en-us/download/details.aspx?id=13255 – RandomDeduction

+0

不錯!正是我所需要的 – TecHunter

+0

它是用純JavaScript編寫的。不需要像node-odbc那樣的node-gyp。完美的作品! – Sam