使用SqlConnection對象連接SQL Server數據庫
我們可以用SqlConnection()構造函數生成一個新的SqlConnection對象。這個函數是重載的,即我們可以調用構造函數的不同版本。SqlConnection()的構造函數如下表所示:
構造函數 | 說明 |
SqlConnection () | 初始化 SqlConnection 類的新實例。 |
SqlConnection (String) | 如果給定包含連接字符串的字符串,則初始化 SqlConnection 類的新實例。 |
程序代碼說明:在上述語法範例的程序代碼中,我們通過使用“new“關鍵字生成了一個新的SqlConnection對象,並且將其命名爲mySqlConnection。
現在我們就可以使用如下兩種方式連接數據庫,即採用集成的Windows驗證和使用Sql Server身份驗證進行數據庫的登錄。
集成的Windows身份驗證語法範例
integrated security=SSPI";
程序代碼說明:在上述語法範例的程序代碼中,我們設置了一個針對Sql Server數據庫的連接字符串。其中server表示運行Sql Server的計算機名,由於在本書中,ASP.NET程序和數據庫系統是位於同一臺計算機的,所以我們可以用localhost取代當前的計算機名。database表示所使用的數據庫名,這裏設置爲Sql Server自帶的一個示例數據庫--Northwind。由於我們希望採用集成的Windows驗證方式,所以設置 integrated security爲SSPI即可。
Sql Server 2005中的Windows身份驗證模式如下:
注意:在使用集成的Windows驗證方式時,並不需要我們輸入用戶名和口令,而是把登錄Windows時輸入的用戶名和口令傳遞到Sql Server。然後Sql Server檢查用戶清單,檢查其是否具有訪問數據庫的權限。而且數據庫連接字符串是不區分大小寫的。
採用Sql Server身份驗證的語法範例
程序代碼說明:在上述語法範例的程序代碼中,採用了使用已知的用戶名和密碼驗證進行數據庫的登錄。uid爲指定的數據庫用戶名,pwd爲指定的用戶口令。爲了安全起見,一般不要在代碼中包括用戶名和口令,你可以採用前面的集成的Windows驗證方式或者對Web.Config文件中的連接字符串加密的方式提高程序的安全性。
Sql Server 2005中的Sql Server身份驗證模式如下:
添加Membership
<membership>
<providers>
<clear/>
<add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="ApplicationServices"
enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false"
maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10"
applicationName="/" />
</providers>
</membership>