WEB开发网
开发学院数据库MSSQL Server 用ADO管理SQL Server数据库及其设备 阅读

用ADO管理SQL Server数据库及其设备

 2006-08-05 09:15:40 来源:WEB开发网   
核心提示: 所以,理想的情况是:用户只需要按下一个命令按钮,用ADO管理SQL Server数据库及其设备(2),应用程序需要的数据库及其设备都能立即自动地创建好,解决方案为了实现这样的目标,而数据库名、设备名、大小在创建设备的时候已经确定好了,所以,我们必须想办法解决SQL语句中的参数设置问题,1.

所以,理想的情况是:用户只需要按下一个命令按钮,应用程序需要的数据库及其设备都能立即自动地创建好。

解决方案

为了实现这样的目标,我们必须想办法解决SQL语句中的参数设置问题。

1.创建设备的语句参数

创建设备的语句即前面提到的DISK INIT语句。

为了简化问题,我们可以指定与数据库名相同的设备文件名,并将设备文件保存在master设备所在的子目录中。数据库名是在设计应用程序时已经确定;而master设备所在的子目录,可以从系统表sysdevices中查询得到。这样,设备文件的物理名参数就确定下来了。

虚拟设备号的问题则比较复杂,因为sysdevices系统表中没有“虚拟设备号”这样一个字段,因此,必须另想办法。

对SQL Server的系统存储过程sp_helpdevice进行分析之后,我们发现,虚拟设备号是“隐藏”在sysdevices系统表的low字段中的,借助另一个系统表spt_values,可以找到每个设备的虚拟设备号。这样,我们只需要在一个循环中找一下某个设备号是否存在于sysdevices中,就可以确定我们现在可用的虚拟设备号。

至于数据库设备的大小,我们不妨设得大一些,或者让用户指定一下也可以。

2.创建数据库的语句参数

创建数据库的语句如下:

CREATE DATABASE database_name
[ON {DEFAULT | database_device} [= size]
[, database_device [= size]]...]
[LOG ON database_device [= size]
[, database_device [= size]]...]
[FOR LOAD]

其中,大部分参数都是可选的,我们只需要指定一个设备名及数据库的大小即可,而数据库名、设备名、大小在创建设备的时候已经确定好了,所以,这个语句的参数不存在问题。

Tags:ADO 管理 SQL

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接