Node.js から Microsoft SQL データベースに接続する方法を誰かが知っているかどうか疑問に思っていました。私は MySQL ドライバーを認識していますが、MS SQL データベースから取得する必要があるデータがあり、何らかの PHP スクリプトをハックするのではなく、Node.js から直接取得したいと考えています。
7 に答える
SQL Server を JSON 出力 Web サービスでラップする必要があると思います。良い面としては、比較的簡単に実行できるはずです。
node.js の JavaScript エンジンがこれを実行できると便利です: (ブラウザで JavaScript から SQL Server データベースに接続する方法から):
var connection = new ActiveXObject("ADODB.Connection") ;
var connectionstring="Data Source=<server>;Initial Catalog=<catalog>;User ID=<user>;Password=<password>;Provider=SQLOLEDB";
connection.Open(connectionstring);
var rs = new ActiveXObject("ADODB.Recordset");
rs.Open("SELECT * FROM table", connection);
rs.MoveFirst
while(!rs.eof)
{
document.write(rs.fields(1));
rs.movenext;
}
rs.close;
connection.close;
node-mssqlをお勧めします。これは、他のコネクタの優れたラッパーです。デフォルトは、以前の選択 ( Tedious ) であり、インターフェイスが少し優れています。これは JavaScript の実装であり、コンパイルの必要はありません。つまり、Windows 環境でも非 Windows 環境でも同じように作業できます。
別のオプションとして、バイナリ ブリッジを使用して .Net または Mono を導入することを気にしない場合は、edge.jsを使用することをお勧めします。node.js で .Net ライブラリを活用したい場合、これは非常に便利です。
node-tdsは放棄され、node-odbcは Windows では動作せず、MS のnode-sqlserverドライバーは Windows 以外では動作しないようです (そしていくつかのばかげた要件があります)。
Linux から Mssql に接続している場合は、freetds odbc ドライバーでnode-odbc ( https://github.com/w1nk/node-odbc ) を使用できます。私はこれを本番環境で使用しており、Web サービスをラップするよりも高速です。
2015 年の新しい回答: ORM パッケージのSequelizeは、内部でTediousドライバーを使用して MS SQL をサポートするようになりました。
これは、私が見つけた Microsoft SQL Server と対話するための最良の方法です。
マイクロソフトからの別のオプションでさえ、
http://www.microsoft.com/en-us/download/details.aspx?id=29995
または、odbc 経由の Linux SQL クライアント ドライバー:
http://www.microsoft.com/en-us/download/details.aspx?id=28160