ADO.NET連接SQL Server數(shù)據(jù)庫
在.NET應用程序中,創(chuàng)建數(shù)據(jù)連接分為三步:
一、定義連接字符串
不同的數(shù)據(jù)庫連接字符串的格式不同,一般都包括要連接的數(shù)據(jù)庫提供都名稱、登陸信息以及要使用的數(shù)據(jù)庫名稱。
注意:在定義連接字符串之前,一定要引入相應的命名空間。
所有的連接都要用到連接字符串ConnectionString,該字符串是使用分號隔開的多項信息,其內(nèi)容隨著數(shù)據(jù)庫類型和訪問內(nèi)容的變化而變化。不同的數(shù)據(jù)庫有著不同內(nèi)容的連接字符串,常用數(shù)據(jù)庫SQL Server數(shù)據(jù)庫連接字符串:
SQL Server是目前與.NET開發(fā)程序配合使用最廣的數(shù)據(jù)庫,它扮演著很重要的角色!在.NET Framework中,稱處理數(shù)據(jù)源(庫)的應用程序為托管提供程序,并且專門為SQL Server數(shù)據(jù)庫提供了一個托管提供程序,即SQL Server托管提供程序,它用來連接和處理SQL Server數(shù)據(jù)庫。連接SQL Server數(shù)據(jù)庫的連接字符串是以“鍵/值”對的形式的語句組合而成的。其中常用的屬性及其說明如下:
1、 Data Source:數(shù)據(jù)源。計算機名稱或者IP地址。
2、Server:服務(wù)器。數(shù)據(jù)庫所在計算機的名稱。
3、 Database:數(shù)據(jù)庫名稱。
4、 Initail Catalog:數(shù)據(jù)庫的名稱。
5、 User ID:用于連接數(shù)據(jù)庫的用戶名稱。
6、 Password:用于連接數(shù)據(jù)庫的用戶密碼。
7、 Pooling:標志是否使用數(shù)據(jù)庫連接池。
8、 Intergrated Security:系統(tǒng)集成安全驗證。標志登錄數(shù)據(jù)庫時是否使用系統(tǒng)集成驗證。
9、 Connection Timeout:連接超時的時間。系統(tǒng)再次嘗試連接數(shù)據(jù)庫時所經(jīng)歷的時間,單位為秒,默認值為15秒。
下面是在ASP.NET中常用的與SQL Server數(shù)據(jù)庫連接的字符串示例:
- string strConnection = "Server=(Local);
- Integrated Security=SSPI;
- Pwd=password;
- uid=user id;
- Database=mydatabase";
Integrated Security=SSPI 這個表示以當前WINDOWS系統(tǒng)用戶身去登錄SQL SERVER服務(wù)器,如果SQL SERVER服務(wù)器不支持這種方式登錄時,就會出錯。
一般語法:
- "Date Source=服務(wù)器名;
- Initial Catalog=數(shù)據(jù)庫名;
- uid=用戶名;
- pwd=密碼";
例如:要連接本機數(shù)據(jù)庫“book”中,連接字符串為:
- string strConnection="Date Source=.;
- Initial Catalog=book;
- uid=sa;
- pwd=1234";
注意:如果服務(wù)器是本機,可以使用“.”代替計算機名或IP地址。用戶名寫作“uid”,也可以寫作“user id”,如果密碼為空,可以省略“pwd”,也可以寫作“password”。這里必須要注意的是,“user id”中間有空格,如果寫為“userid”會報錯“不支持關(guān)鍵字userid”,連接字符串通常不區(qū)分大小寫。
使用下面的書寫方式也可以實現(xiàn)同樣功能:
- "Server=服務(wù)器名;
- DataBase=數(shù)據(jù)庫名;
- user id=用戶名;
- pwd=密碼";
上面的連接字符串為:
- string strConnection="Server=(local).;
- DataBase=book;
- uid=sa;
- pwd=1234";
如果采用VS2008內(nèi)置數(shù)據(jù)庫Express版本SQL Server2005,連接數(shù)據(jù)庫的字符串通常寫為:
- string strConnection="Server=(local)\sqlexpress;
- Initial Catalog=book;
- uid=sa;
- pwd=1234";
其中(local)\sqlexpress是正在訪問的SQL Server名稱,格式是“計算機名\實例名”,(local)表示運行當前計算機上的服務(wù)器實例,也可以用計算機名代替。
sqlexpress是SQL Server實例名,在一臺計算機上安裝多個SQL Server版本時會有多個不同實例,sqlexpress是安裝Express默認實例名。
二、創(chuàng)建Connection對象
語法如下:
- SqlConnection Connection對象名=new SqlConnection(連接字符串);
示例代碼:
- SqlConnection objConnection=new SqlConnection(strConnection);
三、打開與數(shù)據(jù)庫的連接
調(diào)用SqlConnection對象的Open()方法即可實現(xiàn)。
- objConnection.Open();
【編輯推薦】