2016-06-07 27 views
1

我正在使用节点js连接到仅具有Windows身份验证的SQL Server。数据库存储在集中式机器上。SQL Server与jQuery和节点js的连接

数据库返回一些json数据,我把它放在某个地址(http://10.2.9.208:8081/me)。这是我个人电脑的地址,即(https://localhost/me),我使用jQuery调用来检索它。

这个jQuery调用是从一个HTML页面检索jsonp格式的数据,以避免交叉来源问题。

这是我的jQuery呼叫并在页面index12.html

$.get("http://10.2.9.208:8081/me?callback=?", function (data) { 

     dataset_module_errors = data; 
    }); 

在页面的连接字符串是app.js

我用来与数据库连接我的连接字符串是

var config = { 
server: '10.2.12.153',       
database: 'DFMProAnalyticsCopy',  // my table is within this server 
port: 1433        // default port number 
}; 

因为它认为用户密码为'' - >空字符串,所以会引发错误'LOGIN ERROR'。

所以我最终用这个对于Windows身份验证

var config = 
"Driver={SQL Server Native Client 11.0}; 
Server=10.2.12.153,1433; 
Database=DFMProAnalyticsCopy; 
Trusted_Connection={Yes}"; 

现在,这引发了两个错误 - >

  1. ConnectionError:未知的驱动程序的SQL Server Native Client的11.0!
  2. GET http://10.2.9.208:8081/me?callback=? 500(内部服务器错误)

我已经提到How to find the ODBC driver name for a connection string?找到驱动程序名称并验证了两次。

当我通过JQuery调用访问安装在我的PC上的本地数据库时,所有这一切都工作得很好。我的PC上有用户SQL身份验证.Windows身份验证提供错误

login failed for user '' 

当通过节点js访问时。

我在访问中央数据库时犯了一些错误。

请指导我完成它。

编辑1:由于这是Windows身份验证,我没有用户名或密码

+0

你想使用ODBC名称或直接连接?为了连接抛出ODBC,你的连接字符串只包含ODBC别名。如果直接连接看你的SQL客户端版本并正确写入Driver =。 –

+0

嗨,我只写了SQL客户端的驱动程序名称。我不明白我怎么才能找到驱动程序的名称,否则,如果不使用ODBC –

+0

这是连接刺*使用* dot * * net * * odbc *?例如:Driver = {SQL Server}; Server = 10.0.0.1; Database = myDB; Uid = db_login; Pwd = db_passw(可能是登录名和密码必须使用) –

回答

1

形式的连接字符串为OdbcConnection是

驱动程序= {的SQL Server};服务器= 10.0.0.1 ; Database = db_alias; Uid = db_login; Pwd = db_passw

不要更改驱动程序参数。 并感谢萨奇特拉艾耶,为本地服务器连接字符串是

“服务器= {} 10.2.9.208;数据库= trialdb; UID =; PWD =”

+0

嗨,我没有Uid和Pwd。如果我简单地忽略它们,我得到用户登录失败“”错误 –

+0

如果不使用ODBC,我可以通过Windows身份验证连接到我的服务器吗? –

+0

我现在没有。创建用户并限制访问。这是最快的溶剂。 –