【實習】node.js連MSSQL(EXPRESS)
參考教學:https://dotblogs.com.tw/explooosion/2017/05/28/012745
SQL設定:
- 先設定伺服器屬性→安全性→伺服器驗證要選擇【SQL Server及Windows驗證模式】
- 先以windows連線進入,點伺服器底下的安全性資料夾→登入→打開sa的屬性(或點兩下)→【狀態】的【登入】選擇開啟,在【一般】可以設定密碼。
- 也可新增登入,但使用新增的登入者不確定是否因為有權限問題,使用node.js連不上。
- 重新以sa連線,新增資料庫,新增資料表,先key一點資料進去以測試。也可附加資料庫,把教學網址的ExpressDemo匯入資料庫。
電腦設定:
win+R輸入指令【compmgmt.msc】開啟電腦管理,點開【服務與應用程式】→【SQL Server組態管理員】→
- 【SQL Server服務】→將SQL Server Browser啟動。不想每次重開電腦都手動開啟,可按右鍵→內容→服務→啟動模式改自動開啟。
- 【SQL Server網路組態】→SQLEXPRESS的通訊協定→啟用TCP/IP(預設port為1433),啟用後須將SQL重新啟動(在伺服器名稱上按右鍵選重新啟動)
建立專案:
建一個新資料夾做專案的資料夾,然後在vscode開啟資料夾,Ctrl+`呼叫PS(PowerShell),輸入指令,下載套件。
npm install
npm install mssql
新增檔案(寫API):test.js
- 匯入套件:
const sql = require('mssql');
- 連線設定(config):
const config = {"user": "sa","password": "12345678","server": "localhost\\SQLEXPRESS","database": "Foodie"};
- 錯誤訊息:
sql.on('error', err =>{console.log(err.message);});
- function:
可分為async function getDBUserAsyncFunction(){try {let pool = await sql.connect(config);let result1 = await pool.request().query('select * from UserList');console.log(result1);sql.close();} catch (error) {console.log(err.message);}}getDBUserAsyncFunction();
- 連線
- query
- 印出result
- 關閉連線
---------------------------------------------------------------
另外,直接git clone最上方那個範例(要用git指令需先下載並配置路徑:教學(https://www.twblogs.net/a/5c76a894bd9eee31cea54236)
照他的教學,設定好電腦環境,並修改在config資料夾下的db.js(user要用sa,server要用localhost\\SQLEXPRESS)
可npm run dev,瀏覽器網址打localhost:3000,就會show出執行畫面。