Me preguntaba si alguien conocía una forma de conectarse a una base de datos Microsoft SQL desde Node.js. Conozco los controladores MySQL, pero tengo datos que necesito extraer de una base de datos MS SQL y preferiría extraerlos directamente de Node.js en lugar de piratear un script PHP de algún tipo.Conexión a un servidor remoto de Microsoft SQL desde Node.js
Respuesta
Sospecho que tendrá que envolver su servidor SQL con un servicio web de salida JSON. En el lado positivo, debería ser relativamente fácil de hacer.
bueno si el motor de JavaScript en Node.js podría hacer esto: (de How to connect to SQL Server database from JavaScript in the browser?):
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;
¿Debo desvirtuar esta respuesta, porque esta no es la mejor respuesta en 2014? No estoy seguro de si la revocación de una respuesta obsoleta se considera moralmente permisible. Mire aquí lo que creo que debería usarse hoy: http://stackoverflow.com/questions/5156806/node-js-and-microsoft-sql-server/22658512#22658512 –
Esto ya no es una buena respuesta en 2015. [Sequelizar] (https://github.com/sequelize/sequelize) (si desea ORM) o [Tedious] (https://github.com/pekim/tedious) son opciones mucho mejores. – treythomas123
Salida una nueva opción:
La descripción del proyecto node-tds ahora dice '* EXPERIMENTAL y actualmente ABANDONADA *' –
Si se está conectando a Mssql desde Linux, puede usar node-odbc (https://github.com/w1nk/node-odbc) con los freetds od controlador bc. Estoy usando esto en producción y es más rápido que envolver un servicio web.
Justo hoy lancé un nuevo módulo, solo para Windows, que permite el uso nativo y asincrónico de MSSQL. Se llama TSQLFTW, y actualmente admite la conexión y consulta de la base de datos. Devuelve resultados en JSON.
Mira la Github aquí: https://github.com/gfosco/tsqlftw
Hacker News de presentación/comentarios: http://news.ycombinator.com/item?id=3353389
otra opción, de Microsoft, incluso,
http://www.microsoft.com/en-us/download/details.aspx?id=29995
O un controlador de cliente Linux SQL a través de ODBC :
http://www.microsoft.com/en-us/download/details.aspx?id=28160
Esta versión se acaba de actualizar hoy. –
La opción MS requiere una compilación de módulo binario y parece ser solo de Windows. – Tracker1
hay muchas formas de hacerlo. el controlador de Microsoft es solo uno. De hecho, no lo uso por la misma razón, solo en Windows. :(Acabo de encontrar esto hoy ... http://www.microsoft.com/en-us/download/details.aspx?id=28160 –
Recomendaría node-mssql, que es una envoltura agradable para otros conectores, siendo mi elección previa (Tedious) la opción más bonita de una interfaz. Esta es una implementación de JavaScript, sin requisitos de compilación, lo que significa que puede trabajar tanto en entornos Windows como en entornos que no sean Windows.
Otra opción, si no te importa traer .Net o Mono con un puente binario sería usar edge.js. Que puede ser muy bueno si se desea aprovechar las bibliotecas de .NET en Node.js
node-tds es abandonado, node-odbc no funciona con Windows, y no parece que el conductor MS node-sqlserver para trabajar en los no-ventanas (y tiene algunos requisitos ridículos).
Casi estoy completamente de acuerdo. Pero es aún mejor usar [node -mssql] (https://github.com/patriksimek/node-mssql) que envuelve [Tedious] (https://github.com/pekim/tedious). La API de node-mssql es [mucho más fácil] (http://stackoverflow.com/questions/5156806/node-js-and-microsoft-sql-server/22658512#22658512). Y en cuanto a [node-sqlserver] (https://github.com/Azure/node -sqlserver) controlador por MS, vale la pena señalar que eso requiere una lista absurda de requisitos previos que no debería desear instalar en su servidor de Windows. –
@ChristiaanWesterbeek gracias por la información, actualizó mi respuesta a la referencia node-mssql, así como una mención de edge.js ahora que es un poco más maduro. – Tracker1
- 1. Node.js: Enganche repl a un servidor de nodo remoto
- 2. Conexión a Microsoft SQL Server con Clojure
- 3. Node.js y Microsoft SQL Server
- 4. Ejecute un servidor node.js desde Geany
- 5. Paginación de servidor de SQL de Microsoft
- 6. ¿Cómo probar una conexión a un SQL 2005 remoto sin SSMS?
- 7. Conectar LINQPad al servidor SQL remoto
- 8. Conexión a un servidor mssql desde una máquina remota da inicio de sesión fallido para el usuario ''
- 9. mysql sql importación a través de CLI del servidor remoto
- 10. Importación de un archivo SQL local a MySQL en un servidor remoto utilizando el túnel SSH
- 11. Conexión de cliente a servidor utilizando Socket.io
- 12. Acceso a un servidor MBean remoto
- 13. Problemas de conexión a un host MySQL remoto con Rails
- 14. Conexión de un cliente JMS remoto a GlassFish 3
- 15. Iniciando un servidor node.js
- 16. Copiar archivo desde un servidor remoto o URL
- 17. Llamar a un COM + ServicedComponent remoto desde un cliente C#
- 18. monitoreo de un servidor node.js
- 19. establece la conexión del servidor sql a solo lectura?
- 20. Zend Framework 2 Microsoft SQL Server 2008 conexión DB
- 21. conéctese al servidor sql desde android
- 22. ¿Cómo se depura un servidor Node.js que se ejecuta con Chrome/WebKit como el depurador remoto?
- 23. cargar mediante programación un archivo desde la tarjeta SD a un servidor remoto mediante Phonegap
- 24. SQL Server SMO realiza una copia de seguridad localmente desde el servidor remoto
- 25. El uso de Node.js para conectarse a la base de datos Microsoft SQL Server 2008 (MSSQL)
- 26. Cómo reiniciar un servidor node.js
- 27. Intentando conectarme a un servidor MySQL remoto (error 2003)
- 28. Detección de conexión de escritorio remoto
- 29. Node.js mongodb cerrar la conexión
- 30. Bloques de socket Java en la conexión a un servidor
¿Pudo finalmente lograr esto sin construir el proxy o usar ActiveX? – lo5
Estoy contento de haber encontrado esto porque me preguntaba si alguien estaría interesado en mi proyecto node.js-mssql. Es muy rudimentario en este momento, pero esta semana haré otro gran empujón con más funcionalidad :) https://github.com/orenmazor/node-tds –
Una solución de javascript pura proporciona el node.js módulo [tds4node] (https://npmjs.org/package/tds4node). Enlace de GitHub: [tds] (https://github.com/ttghr/tds) – ttghr