如何使用Connection對象連接數據庫?
對於不同的.NET數據提供者,ADO.NET采用不同的Connection對象連接數據庫。這些Connection對象為我們屏蔽了具體的實現細節,並提供了一種統一的實現方法。
Connection類有四種:SqlConnection,OleDbConnection,OdbcConnection和OracleConnection。
SqlConnection 類的對象連接SQL Server數據庫;OracleConnection 類的對象連接Oracle數據庫;OleDbConnection類的對象連接支持OLE DB的數據庫,如Access;而OdbcConnection類的對象連接任何支持ODBC的數據庫。與數據庫的所有通訊最終都是通過 Connection對象來完成的。
SqlConnection類
Connection 用於與數據庫“對話”,並由特定提供程序的類(如 SqlConnection)表示。盡管SqlConnection類是針對Sql Server的,但是這個類的許多屬性、方法與事件和OleDbConnection及OdbcConnection等類相似。
注意:使 用不同的Connection對象需要導入不同的命名空間。OleDbConnection的命名空間為System.Data.OleDb。 SqlConnection的命名空間為System.Data.SqlClient。OdbcConnection的命名空間為 System.Data.Odbc。OracleConnection的命名空間為System.Data.OracleClinet。
我們就可以使用如下兩種方式連接數據庫,即采用集成的Windows驗證和使用Sql Server身份驗證進行數據庫的登錄。
1、集成的Windows身份驗證語法范例
string constr = "server=.;database=myschool;integrated security=SSPI";
說明:程序代碼中,設置了一個針對Sql Server數據庫的連接字符串。其中server表示運行Sql Server的計算機名,由於程序和數據庫系統是位於同一台計算機的,所以我們可以用.(或localhost)取代當前的計算機名。database表示所使用的數據庫名(myschool)。由於我們希望采用集成的Windows驗證方式,所以設置 integrated security為SSPI即可。
2、Sql Server 2005中的Windows身份驗證模式如下:
string constr = "server=.;database=myschool;uid=sa;pwd=sa";
說明:程序代碼中,采用了使用已知的用戶名和密碼驗證進行數據庫的登錄。數據庫連接字符串是不區分大小寫的。uid為指定的數據庫用戶名,pwd為指定的用戶口令。為了安全起見,一般不要在代碼中包括用戶名和口令,你可以采用前面的集成的Windows驗證方式或者對Web.Config文件中的連接字符串加密的方式提高程序的安全性。
3、Sql Server 2005中的Sql Server身份驗證模式如下:
string constr = "data source=.;initial catalog=myschool;user id=sa;pwd=sa";
說明:程序代碼中data source 表示運行數據庫對應的計算機名,initial catalog表示所使用的數據庫名。uid為指定的數據庫用戶名,pwd為指定的用戶口令。
4、可信任鏈接
string constr = "server=.;database=myschool;Trusted_Connection=true";
Trusted_Connection指示是否使用可信任鏈接
5、Access數據庫的連接字符串的形式如下:
string connectionString =@"provider=Microsoft.Jet.OLEDB.4.0;data source=c:\DataSource\myschool.mdb";
說 明:程序代碼中,通過專門針對Access數據庫的OLE DB提供程序,實現數據庫的連接。這使用的的OLE DB提供程序為Microsoft.Jet.OLEDB.4.0,並且數據庫存放在c:\DataSource目錄下,其數據庫文件為 myschool.mdb。