2016-06-07 55 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

我現在沒有。創建用戶並限制訪問。這是最快的溶劑。 –