<connectionStrings>
<add name="Connection1" connectionString="Data Source=資料庫主機名稱與位址;Initial Catalog=資料庫名稱;Persist Security Info=True;User ID=帳號;Password=密碼" providerName="System.Data.SqlClient"/>
</connectionStrings>
<add name="Carts" connectionString="
data source=.\SQLEXPRESS;(資料庫伺服器主機名稱與位址)
initial catalog=Carts(資料庫名稱);
integrated security=True; ( Windows 驗證 , 用户的Windows身份来发起请求的驗證, 这样方式的好处是不需要在连接字符串中编写用户名和密码 )
multipleactiveresultsets=True; MARS(多重作用結果集) ※註解一
application name=EntityFramework; (站台名稱)
User ID=sa;(帳號)
Password=******;(密碼)
providerName="System.Data.SqlClient" />
註解一:
MARS解釋
MARS能在同一條資料連線(SqlConnection)開啟一個以上的結果集,並讓你同時存取這些結果集。
讓我們回憶一下,我們撰寫資料庫的流程,
- 連線字串(SqlConnection)
- SQL定義(SqlCommand)
- 取回資料(DataReader, DataSet)
- 處理(...DataBind...)
- 關閉連線(Close)
而如果同一個畫面,同時需要存取幾個DataReader,DataSet,同樣的東西你就要寫兩次,寫三次,這樣是非常沒有效率,這時就非常合適使用MARS技巧。也就是說,步驟1裡的SqlConnection可以同時間給多個SqlCommand來使用,或是說,你需要同時存取同一台Database Server裡的不同資料庫,那也非常合適使用這個MARS技巧。
MARS的設定也異常簡單,只需要在設定連線字串時加入「MultipleActiveResultSets=True」來啟用MARS功能即可。
SQL無法連接
建立連接至SQL Server時,發生相關或執行體特定的錯誤。找不到或無法存取伺服器。
確認執行個名稱是否正確,以及SQL Server是否設定為允許遠端連線。
(provider:具名的管線提供者,error:40 - 無法開啟至SQL Server 的連接)(Microsoft SQL Server,錯誤:2)
開啟 SQL Server 2017 組態管理員
檢查 SQL Server 網路組態,Remote Connection 要啟用 TCP/IP
設定 TCP/IP>IP4
1.通訊埠 設定1433
2.啟用