1、SQL Server的連接方式 以本地服務器(LocalHost),數(shù)據(jù)庫(Northwind)為例,可以有以下一些連接方式 SqlConnection conn=new SqlConnection( "Server=LocalHost;Integrated Security=SSPI;Database=Northwind"); SqlConnection conn = new SqlConnection("Da SqlConnection conn = new SqlConnection(" Da SqlConnection myConn = new SqlConnection("Persist Security Info=False;Integrated Security=SSPI;Database=northwind;Server=LocalHost"); SqlConnection conn = new SqlConnection(" Uid=sa;Pwd=***;Initial Catalog=Northwind;Da 心得: a. Server和Database,Da b. Integrated Security默認值是False,此時需要提供Uid和Pwd,即將以Sql Server 用戶身份登陸數(shù)據(jù)庫;如果設置為True,Yes 或 SSPI,這不能出現(xiàn)Uid和Pwd,將以Windows用戶省份登陸數(shù)據(jù)庫。強烈推薦用后一種形式,安全性更高。 c. Integrated Security和Persist Security Info同時出現(xiàn),后者設置為False,可保證信息安全。 連接字符串的書寫應該熟練后應該沒有什么問題,我是再看別人的程序,說實話有些東東還真不清楚。但連接不上的問題出現(xiàn)后,得解決呀。所以必須要弄懂這些關鍵字的意義,修改后再測試。 2、SQL Server的用戶設置 問題一、采用連接字符串 SqlConnection conn = new SqlConnection(" Uid=sa;Pwd=***;Initial Catalog=Northwind;Da 錯誤: 用戶"sa"登陸失敗,沒有可信任的Sql Server連接 查資料后找到解決方法: 原因:Sql Server的驗證方式需要設置為Sql Server驗證和Windows集成驗證的混合方式,如果僅設置為后一種方式,就會出像上述問題 解決:運行Sql Server的企業(yè)管理器,點擊服務器,在右鍵菜單中選擇屬性,選安全性,更改驗證方式即可 問題二、采用連接字符串 SqlConnection conn = new SqlConnection("Da 錯誤: 用戶"computername\IWAM_servername"登陸失敗 原因:SQL Server的登陸用戶中不包括IWAM_servername 解決方法:運行Sql Server的企業(yè)管理器,點擊服務器,選安全性,選登陸,新建登陸中加入IWAM_servername,并配備相應的權限,如只能訪問Northwind數(shù)據(jù)庫,數(shù)據(jù)庫的角色設置為public和db_owner。 3、關于連接的安全性 最好使用SSPI的集成安全方式連接數(shù)據(jù)庫,而sa用戶的方式連接會存在安全隱患,我認為主要是因為在安裝SQL Server時,經(jīng)常會為了訪問的方便設置sa的密碼為空,黑客一旦讓sa成為管理員,就可以獲得對系統(tǒng)的所有訪問權限。所以為了數(shù)據(jù)庫的安全,可以設置 SQL server的訪問用戶只能經(jīng)過windows集成驗證,設置sa的安全密碼,加強數(shù)據(jù)庫的安全性。當然設置為windows集成驗證后,數(shù)據(jù)庫的性能和訪問的靈活性勢必會受到影響,管理員可以針對每一個數(shù)據(jù)庫設置不同的驗證方式,而不必對SQL server設置成統(tǒng)一的方式。 如果端口不是默認的了,應寫成 Server=LocalHost,端口號 |
|
來自: 一條書蟲蟲 > 《數(shù)據(jù)庫相關》