專家進(jìn)行ADO.NET數(shù)據(jù)庫(kù)連接創(chuàng)建
原來(lái)上網(wǎng)我下了很多ADO.NET數(shù)據(jù)庫(kù)連接的Demo。而我用的是VS2005,我在使用這些小樣時(shí),基本上絕大部分基于VS2005的Asp.net工程都因?yàn)樯贁?shù)文件無(wú)法轉(zhuǎn)換而無(wú)法加載工程,為此我也苦惱很久,后來(lái)終于讓我找到了解決辦法。
對(duì)SQLServer的系統(tǒng)存儲(chǔ)過(guò)程sp_helpdevice進(jìn)行分析之后,我們發(fā)現(xiàn),虛擬設(shè)備號(hào)是“隱藏”在ADO.NET數(shù)據(jù)庫(kù)連接系統(tǒng)表的low字段中的,借助另一個(gè)系統(tǒng)表spt_values,可以找到每個(gè)設(shè)備的虛擬設(shè)備號(hào)。這樣,我們只需要在一個(gè)循環(huán)中找一下某個(gè)設(shè)備號(hào)是否存在于sysdevices中,就可以確定我們現(xiàn)在可用的虛擬設(shè)備號(hào)。#t#
至于數(shù)據(jù)庫(kù)設(shè)備的大小,我們不妨設(shè)得大一些,或者讓用戶指定一下也可以。
2.創(chuàng)建數(shù)據(jù)庫(kù)的語(yǔ)句參數(shù)
創(chuàng)建數(shù)據(jù)庫(kù)的語(yǔ)句如下:
- CREATEDATABASEdatabase_name[ON{DEFAULT|database_device}[=size][,database_device[=size]]...]
- [LOGONdatabase_device[=size][,database_device[=size]]...][FORLOAD]
其中,大部分參數(shù)都是可選的,我們只需要指定一個(gè)設(shè)備名及數(shù)據(jù)庫(kù)的大小即可,而ADO.NET數(shù)據(jù)庫(kù)連接名、設(shè)備名、大小在創(chuàng)建設(shè)備的時(shí)候已經(jīng)確定好了,所以,這個(gè)語(yǔ)句的參數(shù)不存在問(wèn)題。
使用普通的應(yīng)用開(kāi)發(fā)工具VisualBasic,我們就可以實(shí)現(xiàn)一個(gè)定制的數(shù)據(jù)庫(kù)管理程序。為了實(shí)現(xiàn)與數(shù)據(jù)庫(kù)服務(wù)器的連接,我們必須選擇一種數(shù)據(jù)庫(kù)訪問(wèn)接口。雖然從VB訪問(wèn)SQLServer有很多接口可供選擇,但微軟最新的數(shù)據(jù)庫(kù)訪問(wèn)接口ADO(ActiveDataObjects)無(wú)疑是最有前途的,因?yàn)樗鼮榛跒g覽器的數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的實(shí)現(xiàn)提供了可能性。
以下是一些用于數(shù)據(jù)庫(kù)及其設(shè)備管理的常用函數(shù)。取當(dāng)前的工作ADO.NET數(shù)據(jù)庫(kù)連接----由于管理任務(wù)一般都必須在master庫(kù)中完成,因此,在執(zhí)行管理任務(wù)之前,最好保存當(dāng)前工作庫(kù),以便完成任務(wù)之后再切換回去。