Please Mac and/or Linux version.
Thanks for the input. It is something we are aware the community would appreciate, and we have it on our radar.
plus 1 - I think this would get a lot more popular if it could run on linux/mac boxes.
@scotmeiste are you looking to host your application in Linux environment, while connecting to SQL Server or SQL Azure, or are you primarily interested in being able to develop your application natively on your Mac?
Potentially hosting. We are looking at building hardware to run linux and communicate with a SQL Server instance via node.js. We're still in the "is this feasible" phase of planning.
For our situation, we may also look at using REST web services to handle this. Still in the planning stages.
Exactly the same case
"Potentially hosting. We are looking at building hardware to run linux and communicate with a SQL Server instance via node.js. We're still in the "is this feasible" phase of planning."
Our development platforms are Ubuntu and Mac.
What about using node.js to provide REST services to (an instance/instances) of SQL Server?
I say this without platform bias, and purely in the interests of curiosity: Why are you hosting on Linux? Are you hosting on your own premises and managing the machines yourselves, or are you using a service such as EC2 or Azure to host VMs?
Additionally, what particular feature set did you find indispensable in SQL Server for your particular application? Are there particular features in the server that you would like surfaced in the driver, that isn't today (other than platform support)?
First at all sorry my english is not god.
In our case we are migrating/upgrading a control system for arcades and amusement parks, each sigle site(arcade or park) has his own dbServer, a background process feed one central database with processed information.
Each site has about 100 embedded devices transacting against the local database.
-Embedded devices talk with severals Gateways via RS422/485 lines.
-Gateway is a Windows PC running a VB app that act as middle tier between devices and database(msSql) using ADO.
Future structure in phase of planning, no wires, http services:
-Embedded devices talk with severals Gateways via wireless PAN(802.15.4 XBee)
-Gateways are embedded(ARM-Cortex) devices running a C++ app that implement a http client that consume services from a local a http Server.
-Local http server(Node/PHP) that talk with de database must run in a Linux machine.
Why msSql? We want to avoid migrate to mySql.
Why Node? Because performance and because we don't like PHP.
Sorry for the Bible!
ours, in principle, is similar to @hmariod .
We are a healthcare IT company. We're looking at selling distributed hardware (appliances) as part of our solution. The purpose of these appliances would be things like data processing from multiple sources (data from sockets, flat files, etc, etc).
Why MS SQL server is appealing... Our main data center is SQL Server based. In our distributed model, there would be a smaller SQL server instance on-site (say, at a hospital). the node instance would be pushing data to that on-site instance. That on-site instance in turn syncs up with our main data center. Having an MS SQL Server talk to an MS SQL Server instance works really well, rather than trying to get MySQL (or something else) to talk to SQL with the same efficiency...
So, those are my reasons why having a linux-based node instance being able to talk to MSSQL is appealing to me right now. Like I mentioned before, we're still in the exploratory phase of this, so we may go a different direction. One other possibility would be to have REST services sit between the node instance and the on-site SQL instance.
@jguerin , to answer your previous question, at this point I would be content with being able to do basic queries, inserts, updates, deletes, execute stored procedures. Just you're basic CRUD stuff.
Same thing than @scotmeiste we would be very happy being able to do these basics stuffs, in general we only execute stored procedures.
Thanks to both of you, this is very useful information! :)
I'm developing various small business software products. Customers often want to deploy their new node web application on their existing web server, which often happens to be running Linux. Most companies already have a MSSQL server deployed, so they want to access their data there and that's why I need this library for Linux (and yes, ideally for Mac as well to develop locally)
@linearray thanks for the information, this will definitely help us prioritise this feature.
We also need this as well. All of our web servers run Linux on VMware Enterprise. We have multiple SQL Server boxes and we are using Node.js in conjunction with MongoDB in other places, but we want to be able to connect to the SQL Server boxes.
I would be interested too in Mac version of the driver. Actually I'm doing node development on Mac and it's a shame I have to install VM to support just this functionnality. We have some connections that has to be made to SQL Server boxes.
There is many reasons why one would like to have this driver running on linux or mac, but I am wondering how you can achieve that. this implementation is based on native sql driver and the efforts you are providing are far beyond api shaping. If you want to have a linux or mac implementation you'll have to throw away all those efforts.
Moreover, providing a linux version means people can host their node application on other cloud plateforms which is not necessarly what the maintainers are looking for!
It'll be interesting to have a clearer position on this item and the goal of this project: 'cross-plateform sql server driver' vs 'windows only sql sever driver'.
Just wanted to add my vote that this would be nice.
My scenario is as such:
We are rewriting some of our core modules in node.js from a C# implementation. Almost all of these modules communicate with your production DB in some fashion or another. We are wanting to host node on *nix, this is for a variety of reasons most of which are budgetary, but still be able to communicate with the DB.
As far as my requirements:
We primarily require your basic CRUD functionality. We also use full text search capabilities so we would need to be able to support this as well.
+1 (I'm writing an ORM for node and I would like to support - at least - SqlServer, MySql and Oracle)
+1, I would like to develop on my mac without the need for installing a separate VM.
Gingerbread man from Mac world hearts this idea!
+1 agreed! Time to play nice!
+1, would be awesome to do this with an official driver.
In the meantime, in case you're not aware check out http://pekim.github.com/tedious/
+1. We have many clients with SQL Server installations but we host applications on Linux. A cross-platform driver would be tremendously useful 👍
+1, we need a module working on linux!
+1, node-sqlserver on *nix
in the meantime - http://pekim.github.com/tedious/
+1 for os x support.
have a webapp running on mac. need to access an ms sql db running on ms server '08....
will try tedious.
although deprecated, there's a list of other modules here that might work:
will try them all until I find the best (a working) solution.
+1, but mainly for dev purposes, so developers can build a node-based service layer over SQL that they can run on any platform they are building on (without mucking about with a VM).
Honestly, when I first saw this, I thought, sweet, cross-plat SQL Server access, only to be disappointed. I might turn the question around--why would you make a node-based driver that isn't x-plat? :) (Yes, I can imagine the reasons, but the point is more rhetorical--it's kind of expected that node tools are x-plat, IMO.)
Glad to hear about Tedious. @sakotturi, what did you land on after trying the options out?
@ the contributors, most of the comments here are old--is there any chance x-plat support will be added to this or not?
I'm interested on a Linux driver too. But is this project still alive? Long time without commits...
+1 for production purposes. We have a need to connect our nginx node.js servers to Azure SQL.
Yes Linux/OS X support is definitely needed!
Please implement it