mssql サイトhttps://www.npmjs.com/package/mssqlから取得した正確なコード (ローカル ホストとパスワード exec の変更) を使用しています。テーブルが 1 つしかなく、クエリを完了したいだけです。
var sql = require('mssql');
sql.connect("mssql://root:password@localhost:3306/testdb").then(function() {
new sql.Request()
.query('select * from scores').then(function(recordset) {
console.dir(recordset);
}).catch(function(err) {
console.log(err);
});
}).catch(function(err) {
console.log(err);
});
「npm install mssql」を使用しましたが、問題はありませんでした。「new sql.Request()....」部分を削除して実行すると、エラーなしで実行されます。これは、SQL サーバーに正常に接続されていることを意味します。
SQL サーバーがオンになっているか、少なくともワークベンチでオンになっていることがわかります。
次に、必要最小限のクエリを追加すると、範囲外のスタック インデックスの例外が発生します。何が原因なのか正確にはわかりません。
この非常に役に立たないエラーが発生します。
buffer.js:613
throw new RangeError('index out of range');
^
RangeError: index out of range
at checkOffset (buffer.js:613:11)
at Buffer.readUInt8 (buffer.js:651:5)
at Packet.isLast (E:\Space!\WebDesign\SQL server\node_modules\mssql\node_mod
ules\tedious\lib\packet.js:112:29)
at ReadablePacketStream.<anonymous> (E:\Space!\WebDesign\SQL server\node_mod
ules\mssql\node_modules\tedious\lib\message-io.js:91:18)
at emitOne (events.js:77:13)
at ReadablePacketStream.emit (events.js:169:7)
at readableAddChunk (E:\Space!\WebDesign\SQL server\node_modules\mssql\node_
modules\tedious\node_modules\readable-stream\lib\_stream_readable.js:210:18)
at ReadablePacketStream.Readable.push (E:\Space!\WebDesign\SQL server\node_m
odules\mssql\node_modules\tedious\node_modules\readable-stream\lib\_stream_reada
ble.js:169:10)
at ReadablePacketStream.Transform.push (E:\Space!\WebDesign\SQL server\node_
modules\mssql\node_modules\tedious\node_modules\readable-stream\lib\_stream_tran
sform.js:123:32)
at ReadablePacketStream._transform (E:\Space!\WebDesign\SQL server\node_modu
les\mssql\node_modules\tedious\lib\message-io.js:57:16)
これが起こらないようにしたいのですが、私が間違っていることを知っている人はいますか?