Мне было интересно, знает ли кто-нибудь о способе подключения к базе данных Microsoft SQL из Node.js. Я знаю о драйверах MySQL, но у меня есть данные, которые мне нужно извлечь из базы данных MS SQL и скорее выберете прямо из Node.js, а не найдем какой-либо тип PHP скрипт.
Подключение к удаленному серверу Microsoft SQL из Node.js
Ответ 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;
Ответ 2
Отметьте новый вариант:
Ответ 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. Я использую это в производстве и быстрее, чем обертывание веб-службы.
Ответ 5
Другой вариант, даже от Microsoft,
http://www.microsoft.com/en-us/download/details.aspx?id=29995
Или клиентский клиент linux sql через odbc:
http://www.microsoft.com/en-us/download/details.aspx?id=28160
Ответ 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