Skip to content
June 10, 2012 / ahriman hpc mode

Выход Microsoft Driver for Node.JS для SQL Server

Сегодня вышел новый релиз (Preview) Microsoft Driver for Node.JS для SQL Server.  Новый драйвер позволяет использовать SQL Server и Windows Azure SQL Database из любого приложения, написанного на Node.JS. 

Как обычно, Microsoft Driver for Node.JS для SQL Server лежит на Github и изменения будут загружаться в репозиторий по мере их появления (и участия коммьюнити, конечно).

Разработчики заявляют, что пытались создаь наиболее интуитивную для Node.JS инфраструктуру, и вот, например, пример кода подключения к SQL Server из Node.JS: :

// Запрос внешнего подключения
var sql = require(‘node-sqlserver’);
var conn_str = "Driver={SQL Server Native Client 11.0};Server=(local);Database=AdventureWorks2012;Trusted_Connection={Yes}";

sql.open(conn_str, function (err, conn) {
    if (err) {
        console.log("Ошибка открытия подключения!");
        return;
    }
    conn.queryRaw("SELECT TOP 10 FirstName, LastName FROM Person.Person", function (err, results) {
        if (err) {
            console.log("Ошибка выполнения запроса!");
            return;
        }
        for (var i = 0; i < results.rows.length; i++) {
            console.log("FirstName: " + results.rows[i][0] + " LastName: " + results.rows[i][1]);
        }
    });
});

Для возвращения результатов запросов есть два режима – с параметрами и возвращением всех записей и с подпиской на события для получения отдельных запросов и столбцов.
// Простой запрос с параметрами
var sql = require(‘node-sqlserver’);
var conn_str = "Driver={SQL Server Native Client 11.0};Server=(local);Database=AdventureWorks2012;Trusted_Connection={Yes}";

var match = "%crombie%";
sql.query(conn_str, "SELECT FirstName, LastName FROM Person.Person WHERE LastName LIKE ?", [match], function (err, results) {
    for (var i = 0; i < results.length; i++) {
        console.log("FirstName: " + results[i].FirstName + " LastName: " + results[i].LastName);
    }
});
// Запрос со стримингом
var sql = require(‘node-sqlserver’);
var conn_str = "Driver={SQL Server Native Client 11.0};Server=(local);Database=AdventureWorks2012;Trusted_Connection={Yes}";

var stmt = sql.query(conn_str, "SELECT FirstName, LastName FROM Person.Person ORDER BY LastName OFFSET 0 ROWS FETCH NEXT 10 ROWS ONLY");
stmt.on(‘meta’, function (meta) { console.log("We’ve received the metadata"); });
stmt.on(‘row’, function (idx) { console.log("We’ve started receiving a row"); });
stmt.on(‘column’, function (idx, data, more) { console.log(idx + ":" + data);});
stmt.on(‘done’, function () { console.log("All done!"); });
stmt.on(‘error’, function (err) { console.log("We had an error😦 " + err); });

Драйвер можно также и не компилировать вручную, а скачать из центра скачиваний Microsoft – Download Center. После скачивания надо запустить node-sqlserver-install.cmd для генерации необходимых директорий. Драйверу для работы необходим SQL Server Native Access Client, который можно скачать здесь.

 

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: