MDBTools、unixodbc、およびノードodbcパッケージを使用して、Linux の nodejs でいくつかの MDB ファイルをクエリしています。
このコードの使用
db.query("select my_str_col, my_dbl_col from my_table", function (err, rows) {
if (err) return console.log(err);
console.log(rows);
db.close();
});
文字列列を照会できますが、my_str_col
列を解読できません。次のmy_dbl_col
Double
ような結果が得られます。
[ { my_str_col: 'bla', my_dbl_col: '{\u0014�Gai�@' },
{ my_str_col: 'bla bla', my_dbl_col: '' },
{ my_str_col: 'bla', my_dbl_col: '�G�z\u0014NF@' } ]
空でない文字列はすべて 7 または 8 バイトですが、最も気になるのは、この例の 2 行目で、MDB に null 以外の数値があることを知っているにもかかわらず、空の文字列を取得することです。文字列バイトからの数値。
Double
では、 Linux のノードで MDB ファイルの型の数を読み取るにはどうすればよいですか?
私はそれを正確に
- MDBViewer (MDBTools を使用) などのツールは、これらの数値を正しく読み取ります
- JavaScript の数値は私にとって十分に正確です。これらの数値はすべて float32 に収まります。
- MDB ファイルに長い変換を適用することはできません。頻繁に変更される数百のファイルに対して高速なクエリを実行する必要があります...
- 実際にクエリを発行することはできませんが、テーブル全体を読み取ることができるソリューションも受け入れられます