Подключение к удаленному серверу Microsoft SQL из Node.js

Мне было интересно, знает ли кто-нибудь о способе подключения к базе данных Microsoft SQL из Node.js. Я знаю о драйверах MySQL, но у меня есть данные, которые мне нужно извлечь из базы данных MS SQL и скорее выберете прямо из Node.js, а не найдем какой-либо тип PHP скрипт.

Ответ 1

Я подозреваю, что вам придется обернуть ваш SQL Server веб-сервисом, отправляющим JSON. С положительной стороны это должно быть относительно легко сделать.

Хорошо, если механизм JavaScript в node.js может сделать это: (из Как подключиться к базе данных SQL Server из JavaScript в браузере?):

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;

Ответ 3

Я бы порекомендовал node-mssql, что является хорошей оболочкой для других коннекторов, по умолчанию это мой предыдущий выбор (Tedious), что немного облегчает интерфейс. Это экспломатизация JavaScript, без требований к компиляции, что означает, что вы можете работать как в окнах, так и в не-окнах.

Другой вариант, если вы не возражаете подключиться .Net или Mono с бинарным мостом, будет использовать edge.js. Что может быть очень приятно, если вы хотите использовать библиотеки .NET в node.js

node-tds заброшено, node-odbc не работает с окнами, а драйвер MS node-sqlserver, похоже, не работает на не-окнах (и имеет некоторые противоречивые требования).

Ответ 4

Если вы подключаетесь к Mssql из linux, вы можете использовать node -odbc (https://github.com/w1nk/node-odbc) с помощью драйвера freetds odbc. Я использую это в производстве и быстрее, чем обертывание веб-службы.

Ответ 6

Новый ответ на 2015 год: пакет ORM Sequelize теперь поддерживает MS SQL, используя Tedious под крышками.

Это лучший способ найти взаимодействие с Microsoft SQL Server.

Ответ 7

Только сегодня я выпустил новый модуль, только для окон, позволяющий использовать асинхронное использование MSSQL. Он называется TSQLFTW и в настоящее время поддерживает подключение и запрос к базе данных. Он возвращает результаты в JSON.

Ознакомьтесь с Github здесь: https://github.com/gfosco/tsqlftw

Отправка/комментарии Hacker News: http://news.ycombinator.com/item?id=3353389