用ado管理sqlserver数据库及其设备

用ado管理sqlserver数据库及其设备

ID:11055365

大小:57.00 KB

页数:4页

时间:2018-07-09

用ado管理sqlserver数据库及其设备_第1页
用ado管理sqlserver数据库及其设备_第2页
用ado管理sqlserver数据库及其设备_第3页
用ado管理sqlserver数据库及其设备_第4页
资源描述:

《用ado管理sqlserver数据库及其设备》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、用ADO管理SQLServer数据库及其设备>>教育资源库  微软公司的SQLServer是目前小型网络中常用的数据库管理系统之一。面向这种网络数据库的应用程序也在日益增多,这种网络数据库应用系统的正常运行,一般都依赖于已经存在的用户数据库。创建数据库的工作当然可以用SQLServer提供的SQLEnterpriseManager工具来完成,但是,如果能够提供一种定制的数据库管理工具,专门管理应用系统需要的数据库及其设备,对用户来说无疑更加理想。  现存问题  我们知道,在使用CREATEDATABASE语句创建一个数据库之前,必须存在

2、一个有剩余空间的数据库设备,或者事先使用DISKINIT语句创建一个新设备。但是这些语句含有很多必需的参数,而且如果不使用SQLServer的管理工具,很多参数值往往难以确定。  以创建数据库设备的DISKINIT语句为例,这个语句的完整语法如下:  DISKINITNAME=logical_name,PHYSNAME=physical_name,VDEVNO=virtual_device_number,SIZE=number_of_2K_blocks[,VSTART=virtual_address]  其中NAME和SIZE这两个参数

3、都很容易得到,麻烦的是物理名PHYSNAME和虚拟设备号VDEVNO这两个参数。前者要求是一个服务器上的物理文件全路径名;后者要求在1~255之间找一个没有被别的设备占用的号码。而在编写数据库管理程序时,用户的服务器上有哪些设备号已经被占用,SQLServer装在哪个驱动器上,都是无法预料的。  虽然,使用SQLServer的管理工具SQLEnterpriseManager,可以非常方便地创建、删除数据库设备,或者扩大一个已经存在的数据库,也可以非常方便地创建、删除或者修改一个数据库,但是,这个工具仍然要求我们输入很多不太常用的参数,界

4、面稍显复杂。  所以,理想的情况是:用户只需要按下一个命令按钮,应用程序需要的数据库及其设备都能立即自动地创建好。  解决方案  为了实现这样的目标,我们必须想办法解决SQL语句中的参数设置问题。  1.创建设备的语句参数  创建设备的语句即前面提到的DISKINIT语句。  为了简化问题,我们可以指定与数据库名相同的设备文件名,并将设备文件保存在master设备所在的子目录中。数据库名是在设计应用程序时已经确定;而master设备所在的子目录,可以从系统表sysdevices中查询得到。这样,设备文件的物理名参数就确定下来了。  虚拟

5、设备号的问题则比较复杂,因为sysdevices系统表中没有虚拟设备号这样一个字段,因此,必须另想办法。  对SQLServer的系统存储过程sp_helpdevice进行分析之后,我们发现,虚拟设备号是隐藏在sysdevices系统表的loe[ON{DEFAULT

6、database_device}[=size][,database_device[=size]]...][LOGONdatabase_device[=size][,database_device[=size]]...][FORLOAD]  其中,大部分参数都是可选的,我们只

7、需要指定一个设备名及数据库的大小即可,而数据库名、设备名、大小在创建设备的时候已经确定好了,所以,这个语句的参数不存在问题。  具体实现  使用普通的应用开发工具VisualBasic,我们就可以实现一个定制的数据库管理程序。  为了实现与数据库服务器的连接,我们必须选择一种数据库访问接口。虽然从VB访问SQLServer有很多接口可供选择,但微软最新的数据库访问接口ADO(ActiveDataObjects)无疑是最有前途的,因为它为基于浏览器的数据库应用系统的实现提供了可能性。  以下是一些用于数据库及其设备管理的常用函数。  1.

8、取当前的工作数据库  由于管理任务一般都必须在master库中完成,因此,在执行管理任务之前,最好保存当前工作库,以便完成任务之后再切换回去。  PublicFunctionSQLGetCurrentDatabaseName(CnAsADODB.Connection)AsStringDimsSQLAsStringDimRSAsNeesSQL=selectCurrentDB=DB_NAME()RS.OpensSQL,CnSQLGetCurrentDatabaseName=Trim$(RS!CurrentDB)RS.CloseExitFun

9、ctionerrSQLGetCurrentDatabaseName:SQLGetCurrentDatabaseName=EndFunction2.判断一个数据库设备是否存在  PublicFunctionS

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。