簡體   English   中英

從 Node.js 連接到遠程 Microsoft SQL 服務器

[英]Connecting to a remote Microsoft SQL server from Node.js

我想知道是否有人知道從 Node.js 連接到 Microsoft SQL 數據庫的方法。 我知道 MySQL 驅動程序,但我有我需要從 MS SQL 數據庫中提取的數據,並且寧願直接從 Node.js 中提取而不是在適當的位置破解某種 PHP 腳本。

我懷疑您必須使用 JSON 輸出 Web 服務來包裝您的 SQL Server。 從積極的方面來說,它應該相對容易做到。

如果 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,您可以將 node-odbc ( https://github.com/w1nk/node-odbc ) 與 freetds odbc 驅動程序一起使用。 我在生產中使用它,它比包裝 Web 服務更快。

另一個選擇,甚至來自微軟,

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

2015 年的新答案:ORM 包Sequelize現在支持 MS SQL,在幕后使用Tedious驅動程序。

這是我發現的與 Microsoft SQL Server 交互的最佳方式。

就在今天,我發布了一個新模塊,僅用於Windows,允許本地和異步使用MSSQL。 它叫做TSQLFTW,目前支持連接和查詢數據庫。 它以JSON返回結果。

在這里查看Github: https//github.com/gfosco/tsqlftw

黑客新聞提交/評論: http//news.ycombinator.com/item?id = 3353389

我最近遇到了這個問題,我試圖連接托管在遠程服務器上的 MSSQL。 我必須使用的配置是-

let config = {
    user: 'user',
    password: 'password',
    server: 'server',
    database: 'database',
    "options":{
        instanceName: 'instanceName',
        "encrypt":true,
        "enableArithAbort":true,
        "trustServerCertificate": true,
       }
};
module.exports=config;

要獲取實例名稱,請在 SSMS 中使用 SELECT @@servicename

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM