数据对象结构的动态建立与访问

来源:互联网 发布:发牌程序java 编辑:程序博客网 时间:2024/06/07 06:28
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
 MicrosoftSQLServer与ORACAL、都是当前比较流行的管理系统(RDMS),随着SQLServer的不断完善与发展,以及与网络WindowsNT的完美结合,它为分布式客户服务器结构程序提供了良好的开发环境,也因此越来越受到人们的重视。

  MicrosoftSQLServer是一个可缩放、高性能的数据库管理系统,它提供了与WindowsNT线程和调度服务、性能监视器和事件浏览器的集成,基于Windows管理界面并提供对多个服务器上的远程数据复制管理、服务器管理、诊断和调整的可视化拖放控制。

  分布式管理对象(DMO)为SQLServer引擎和服务提供了一个对象接口。SQL-DMO是为Windows95与WindowsNT操作系统提供的32位OLE自动化对象,OLE是维护应用程序共享对象的标准和方法,是一种允许应用程序为进行管理或数据访问共享对象的方法。DMO是利用OLE结构开发的,它为与OLE兼容的应用程序提供了通向所有SQLServer管理功能的接口,DMO使开发者直接访问SQLServer数据对象变成可能。我们利用与Visual等编程工具就可以使用分布式管理对象实现对SQLServer的直接访问

  MicrosoftSQLServer所提供的工具使客户端能通过多种方法访问服务器上的数据,这些工具的核心部分即是Transact-SQL(事务SQL)代码。Transact-SQL是结构化查询语言(SQL)的增强版本,它提供了许多附加的功能和函数。利用Transact-SQL,你可以创建数据库设备、数据库和其它数据对象、从数据库中提取数据、修改数据,也可以动态地改变SQLServer中的设置。因此,使用Transact-SQL大大地提高了应用程序的实用性。

  当我们进行Client/Server结构项目开发时需要建立若干个数据对象的结构,如果所开发的项目是面向某个具体的客户时,在Server上手工建立数据库设备、数据库与表是可行的,但是如果所开发的项目是作为软件发行而非面向某个具体的客户时,无疑,手工建立数据对象的结构是不现实的,我们需要将创建数据库与表的过程固化在程序中,当程序运行时动态地在Server上建库与表。因此,利用分布式管理对象与Transact-SQL是进行Client/Server结构程序设计的重要手段。

  下面将讨论如何在VisualBasic5.0中利用DMO与Transact-SQL在SQLServer上建立数据库设备、数据库及其他数据对象。我们从具体问题着手:在SQLServer上建立200M与400M的数据库设备Device_1、Device_2,在Device_1与Device_2上分别建立容量为100M的两个数据库Db1与Db2,在Db1库中建立表T_1,有四个域:Name,Age,Sex,ID_Code,以ID_Code为关键字,以Name为索引,在Db2库中建立表T_2,有五个域:Name、Age、Sex、Department、No,以Department与No为关键字。

  访问SQLServer,首先要打开SQLServiceManager,SQLServiceManager用于启动、暂停、继续、停止SQLServer的服务,包括Server与SQLExecutive两项。可以通过手工方式打开这两项服务,也可以在程序中通过行命令式打开它们。

  若采用手工方式,则打开SQLServiceManager,对于其中的服务MSSQLServer与SQLExecutive,直接启动它们的Start/Continue绿灯即可。
 采用行命令启动方式,可利用VB的Shell命令:

X=shell("Sqlmgr.exe",1)显示SQLServiceManager窗口;
X=shell("netstartmssqlserver")启动MSSQLServer服务
X=shell("netstartsqlexecutive")启动SQLExecutive服务
  因为在这里我们希望通过编程在SQLServer上实现数据对象结构动态建立,因此建议使用行命令方式。

  启动了SQLServerManager后,我们就可以利用DMO与Transact-SQL按以下步骤来建数据对象了。

  1.为能使用DMO,首先需要打开VB工具栏中Reference(引用),选择MicrosoftWindowsCommonControl5.0,如果在引用栏中没有发现此项,则选择Browse(浏览),将/WINNT/System32目录下的Comctl32.oca加入到Reference中来。

  2.在模块文件(.BAS)中建立SQLOLE对象:


  3.建立与SQLServer的连接:


  4.建数据库设备Device_1与Device_2:1

<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
原创粉丝点击