All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
Vista安装.NET2.0开发环境注意项_.net资料_编程技术
php如何判断来访网页地址_[PHP教程]
PHP按比例控制图片显示(自动缩放函数)_[PHP教程]
SQL,Server,2005—有关开发的10个最重要的特点_[SQL,Server教程]
第三篇:使用Visual,Studio,2008实现基本的页面交互_[Asp.Net教程]
asp.net利用RAR实现文件压缩解压缩_[Asp.Net教程]
Asp.net日期字符串格式化显示方法_.net资料_编程技术
轻松掌握Ajax.net系列教程三:使用CascadingDropDown组件_[Asp.Net教程]
跳出封装剖析ASP.NET脚本回调的原理_.net资料_编程技术
SQL2005其中三个版本的比较_[SQL,Server教程]
Reading number is top 10 pictures
XuRe xuan cool and refreshing photoes1
8090后结婚的各种XX事
传销的好处
徐若瑄展示美丽胸围2
移民小国也实惠2
各种囧况!玩游戏最不喜欢出现的十件事(点评)
007 James. bond's new lover
Fender Bender that so horrifying1
超级大兔子
这只猪到底犯了什么错?
Download software ranking
c#程序设计案例教程
dreamweaver8中文版
实战黑客不求人
SQL2000 For 4IN1
仙剑奇侠传98版歌曲
Tram sex maniac 2 (H) rar bag7
双旗镇刀客B
终极变速大师Speeder3.26
Unix video tutorial3
Sora aoi 120 minutes
归海一刀 published in(发表于) 2014/2/1 0:12:21 Edit(编辑)
Sql,server动态建立数据对象结构_[SQL,Server教程]

Sql,server动态建立数据对象结构_[SQL,Server教程]

Sql server动态建立数据对象结构_[SQL Server教程]

Microsoft SQL Server与ORACAL、Sybase都是当前比较流行的数据库管理系统(RDMS),随着SQL Server的不断完善与发展,以及与网络操作系统Windows NT的完美结合,它为分布式客户服务器结构程序设计提供了良好的开发环境,也因此越来越受到人们的重视。

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

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

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

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

下面将讨论如何在Visual Basic 5.0中利用DMO与Transact-SQL在SQL Server上建立数据库设备、数据库及其他数据对象。我们从具体问题着手:在SQL Server上建立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为关键字。

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

若采用手工方式,则打开SQL Service Manager,对于其中的服务MSSQLServer与SQLExecutive,直接启动它们的Start/Continue绿灯即可。

采用行命令启动方式,可利用VB的Shell命令:  

X=shell("Sqlmgr.exe",1) 显示SQL Service Manager窗口;

X=shell("net start mssqlserver") 启动MSSQLServer服务

X=shell("net start sqlexecutive") 启动SQLExecutive服务

因为在这里我们希望通过编程在SQL Server上实现数据对象结构的动态建立,因此建议使用行命令方式。

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

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

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

Global OServer as New SQLOLE.SQLServer


3.建立与SQL Server的连接:  

OServer.Connect ServerName:=注册的SQL Server名,Login:=登录名(一般为sa),Password:=密码

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

dim transql as string

transql="use master" & _

"DISK INIT" & _

"Name='Device_1'," & _

"Physname='D:\SQL\data\device1.dat'," & _

"vdevno=10," & _

"size=102400" & _

"DISK INIT" & _

"Name='Device2'," & _

"Physname='D:\SQL\data\device2.dat'," & _

"vdevno=11," & _

"size=204800"

OServer.ExecuteImmediate Command:=transql,exectype:=SQLOLEExec_Default

5.建数据库Db_1与Db_2:

transql = "CREATE DATABASE Db_1 ON Device_1=100 "

OServer.ExecuteImmediate Command:=transql, exectype:=SQLOLEExec_Default

transql = "CREATE DATABASE Db_2 ON Device_2=100 "

OServer.ExecuteImmediate Command:=transql, exectype:=SQLOLEExec_Default


6.在数据库中建表:

在数据库Db_1上建表T_1:  

transql = "use Db_1 " & _

create table T_1 " & _

"(Name char(8) null, " & _

" Age numeric(2) null, " & _

" Sex smallint null, " & _

" ID_Code char(16) not null, " & _

" constraint c_1 primary key clustered (ID_Code))"

OServer.ExecuteImmediate Command:=transql,exectype:=SQLOLEExec_Default

建表T_1的Name列的索引:  

transql="CREATE INDEX index_1 ON T_1 (Name)"

OServer.ExecuteImmediate Command:=transql,exectype:=SQLOLEExec_Default

在数据库Db_2上建表T_2:

transql = "use Db_2 " & _

"create table T_2 " & _

"(Name char(8) null, " & _

" Age numeric(2) null, " & _

" Sex smallint null, " & _

" Department char(16) not nill, " & _

" No char(4) not null," & _

"constraint c_2 primary key clustered (Department,No))"

OServer.ExecuteImmediate Command:=transql, exectype:=SQLOLEExec_Default

此时,我们完成了建立数据对象的编码工作,程序被编译执行后,就会在SQL Server上自动建立数据库设备、数据库及库中的表。

对于数据库设备,可以用DISK REINIT,DISK REFIT,DISK RESIZE对它进行操作,如要扩展数据库设备Device_1的容量为200M,可利用如下方法:

DISK RESIZE

Name='Devive_1',

Size = 102400

对于SQL Server上已经建立的数据库及表的结构,也可以通过DMO与事务SQL进行修改与删除。类似于上面的编码,可以利用Alter Database Db_1,Alter DatabaseDb_2,Alter Table T_1,Alter Table T_2等事务SQL语句进行对所建立的数据库与表的的结构进行修改,而利用Drop Database, Drop Table事务语句删除所建立的数据库与表。

以上讨论了如何在SQL Server上动态地建立与访问数据对象的结构,至于对SQL Server上数据库与表的内容的访问,可以利用ODBC(开放数据库互连)、DAO(数据访问对象)、RDO(远程数据对象)或DB-Library进行编程。


来源:网络







添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.