昨天我們發現了雖然我已經把.mdf 資料庫檔案從Git裡排除了,但我的Web.config資料庫連線設定還是指向原本的EYES_DB.MDF,所以今天我要來改我的資料庫連線,並測試。
前幾天有先確認過我的專案使用的是(localdb)\MSSQLLocalDB,所以先確認這個LocalDB執行個體是否有正常啟動。
那我把它啟動成功了,這樣LocalDB 就準備好了!
接著我到我的SQL Server物件總管查看資料庫,因為我之前測試 eyes_db.sql 的時候已經建立了一個 eyes_db_test,而且兩個資料表也建立好了,所以我就直接把他改名成EYES_DB,就可以直接把前幾天測試好的資料庫結構拿來使用了
接著就是今天的重點了,原本的連線是:
data source=(localdb)\MSSQLLocalDB;
attachdbfilename=|DataDirectory|\EYES_DB.MDF;
integrated security=True;
MultipleActiveResultSets=True;
其中這一行就是今天要看的
attachdbfilename=|DataDirectory|\EYES_DB.MDF
這是在說:程式會去 App_Data 找 EYES_DB.MDF
但是我前幾天已經排除了這個.mdf檔案所以不能在找他了,而是要改去找我用eyes_db.sql建立的EYES_DB資料庫。
attachdbfilename=|DataDirectory|\EYES_DB.MDF;
改成
initial catalog=EYES_DB;
這其實只修改了資料庫的指定方式,讓(localdb)\MSSQLLocalDB去找EYES_DB。
修改完成後,我滿懷期待的重新執行,他也不負眾望正常開啟了!
而且我在網站輸入的資料也確實地出現在了EYES_DB的dbo.Patients資料表中。
那麼這就是我資料表建立的流程:
Database/eyes_db.sql
↓
建立資料庫結構
↓
EYES_DB
↓
Web.config
↓
(localdb)\MSSQLLocalDB
↓
ASP.NET MVC 專案