苦労したのでメモ。
Node.jsでのデータベース操作にはいつもknexを使用していて、
Knex.js - A SQL Query Builder for Javascript
knexはSQLServerにも対応しているのだけど、
そこで使用されているmssqlパッケージがWindows認証には対応していないのか、
うまく接続できなかった。
このmssqlパッケージで使用されるドライバには
デフォルトで使用される「Tedious」と
Node.jsの0.12以上で使用可能な「msnodesqlv8」の
2種類があるようで、「Tedious」だとうまく接続できないっぽい。
knexでどうドライバを切り替えるのかが分からなかったのだけど、
単体で「msnodesqlv8」を使用するとうまく接続できた。
使用方法
下記のWikiにドキュメントが記載されている。
Promise使ってデータ取得するなら下記のような感じ。
const msnodesql = require("msnodesqlv8"); async function fetchDataList(conn, query) { return new Promise((resolve, reject) => { conn.query(query, (err, rows) => { if (err !== null) { reject(err); return; } resolve(rows); }); }); } async function main() { const connectionString = "server=<接続先サーバ>\\<インスタンス名>;Database=<DB名>;Trusted_Connection=Yes;Driver={SQL Server Native Client 11.0}"; msnodesql.open(connectionString, async (err, conn) => { const resultList = await fetchDataList(conn, 'select * from dbo.テーブル名'); } } main();
更新処理とかは試してないけど、上記Wikiに記載されてるSQLを参考に
作成すれば実行できるはず。

- 作者: 掌田津耶乃
- 出版社/メーカー: マイナビ
- 発売日: 2014/03/25
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (2件) を見る