I have connection string in node js for SQL Server as following:
var webconfig = {
user: 'sa',
password: 'aman',
server: 'Aman\AMAN',
database: 'Demo',
options: {
encrypt: false // Use this if you're on Windows Azure
}
}
it is showing connection close error.
But if I am using network server like 192.5.5.62 etc then its working fine. I think problem in 'Aman\AMAN', because server name not accepting \ backslash (I think).
The following connection is working for me...
var webconfig = {
user: 'sa',
password: 'aman',
server: '192.5.5.62',
database: 'Demo',
options: {
encrypt: false // Use this if you're on Windows Azure
}
}
If my guess of \ (backslash) is true, then please suggest me how to fix it with this server name or window authentication etc.
Help will be appreciated.
3条答案
按热度按时间iqjalb3h1#
From your comment, it seems likely that you're using the default driver, which is Tedious. Looking at their docs it seems that they have separated out the hostname and instance name, so you'd want to change your code to be like this:
gajydyqb2#
First of all I would assume here that you are using tedious module (by looking at the comment of options.encrypt). I wanted to confirm this first with comment but I lack credits to comment. I really wanted to help you because I faced the exact same issue sometime back, so here it goes.
I'll divide your questions in two parts in the context of Nodejs Tedious module.
Support for Named Instances
By default tedious uses server and options.port to connect. options.port is the default setting with a default value of 1433. This is the reason configuration mentioned below worked.
But if you want to use named instances in the connection configuration, then you must use options.instanceName as shown below. See the documentation .
In your case, however it isn't required to connect using named instance because you are able to connect using hostname\IP itself.
Also, you could either use options.port or options.instanceName but not both in the configuration at a time.
This brings me to your second question.
Support for Windows Authentication
Tedious module do not support Windows Authentication to connect to SQL Server instances currently. See here. However, there are few bright minds who already are working on it. Look at this open PR #497 . Feel free to contribute to the Tedious community.
BONUS TIP: Going forward, instead of guessing the root cause, you could also make use of debug event by tedious module which will route you in the right direction. Make sure to disable it in production.
Please mark this as an answer if it helped you. Cheers!
aydmsdu93#
Use four backslashes to get one in output
will result in \newdata