分类: Mysql/postgreSQL
2008-05-30 09:23:36
[, database_device [= size]]...]
[LOG ON database_device [= size]
[, database_device [= size]]...]
[FOR LOAD]
其中,大部分参数都是可选的,我们只需要指定一个设备名及数据库的大小即可,而
数据库名、设备名、大小在创建设备的时候已经确定好了,所以,这个语句的参数不存在问题
具体实现
使用普通的应用开发工具Visual Basic,我们就可以实现一个定制的数据库管理程序
为了实现与数据库服务器的连接,我们必须选择一种数据库访问接口。虽然从VB访问
SQL Server有很多接口可供选择,但微软最新的数据库访问接口ADO(Active Data Objects)无
疑是最有前途的,因为它为基于浏览器的数据库应用系统的实现提供了可能性。
以下是一些用于数据库及其设备管理的常用函数。
1.取当前的工作数据库
由于管理任务一般都必须在master库中完成,因此,在执行管理任务之前,最好保存
Public Function SQLGetCurre
ntDatabaseName(Cn As ADODB.Connection) As String
Dim sSQL As String
Dim RS As New ADODB.Recordset
On Error GoTo errSQLGetCurrentDatabaseName
sSQL =“select CurrentDB = DB_NAME()"
RS.Open sSQL, Cn
SQLGetCurrentDatabaseName = Trim$(RS!CurrentDB)
RS.Close
Exit Function
errSQLGetCurrentDatabaseName:
SQLGetCurrentDatabaseName =“"
End Function
2.判断一个数据库设备是否存在
Public Function SQLExistDeviceName(Cn As ADODB.Connection, sDevName As
--按照名称判断一个设备是否存在,如果存在,返回1,否则返回0
Dim sSQL As String
Dim RS As New ADODB.Recordset
Dim bTmp As Boolean
On Error GoTo errSQLExistDeviceName
sSQL =“select CntDev=count(*) from master.dbo.sysdevices where name =‘“&
RS.Open sSQL, Cn
If RS!CntDev = 0 Then bTmp = False Else bTmp = True
RS.Close
SQLExistDeviceName = bTmp
Exit Function
errSQLExistDeviceName:
SQLExistDeviceName = False
End Function
3.判断一个虚拟设备号是否被占用:SQLExistDeviceNumber。
编者注:函数源代码发表在以下站点上,地址。欢迎访问!
4.找一个最小的尚未被占用的虚拟设备号:SQLGetUnusedDeviceNumber。
5.取得SQL Server安装目录下的DATA子目录路径:SQLGetDataPath。
6.创建一个新设备:SQLCreateDevice。
7.创建一个新的数据库:SQLCreateDatabase65。
8.取数据库设备的详细信息:SQLGetDeviceInfo。
9.扩大数据库设备的尺寸:SQLExpandDevice。
数据库应用系统在运行一段之后,数据量的增大往往要求数据库增大,进而要求扩大
设备尺寸。可惜DISK RESIZE语句要求的尺寸参数为扩大后的新尺寸,而非需要增加的尺寸。
所以,必须事先查到设备的原有尺寸,才能使用DISK RESIZE语句。
10.判断一个数据库是否存在:SQLExistDatabase。
11.删除一个数据库:SQLDropDatabase。
12.删除一个数据库设备:SQLDropDevice。
13.取SQL Server的版本信息:SQLGetVersionString。
在即将发行的SQL Server 7.0中,不再有数据库设备的概念,创建数据库也将变得更
加简单。