知识大全 SQL Server数据对象结构的动态建立
Posted 数据库
篇首语:人人都曾经错过,真正属于你的,永远不会错过。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 SQL Server数据对象结构的动态建立相关的知识,希望对你有一定的参考价值。
SQL Server数据对象结构的动态建立 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
Microsoft SQL Server与ORACAL Sybase都是当前比较流行的数据库管理系统(RDMS) 随着SQL Server的不断完善与发展 以及与网络操作系统Windows NT的完美结合 它为分布式客户服务器结构程序设计提供了良好的开发环境 也因此越来越受到人们的重视 Microsoft SQL Server是一个可缩放 高性能的数据库管理系统 它提供了与Windows NT线程和调度服务 性能监视器和事件浏览器的集成 基于Windows管理界面并提供对多个服务器上的远程数据复制管理 服务器管理 诊断和调整的可视化拖放控制 分布式管理对象(DMO)为SQL Server引擎和服务提供了一个对象接口 SQL DMO是为Windows 与 Windows NT操作系统提供的 位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 中利用DMO与Transact SQL在SQL Server上建立数据库设备 数据库及其他数据对象 我们从具体问题着手 在SQL Server上建立 M与 M的数据库设备Device_ Device_ 在Device_ 与Device_ 上分别建立容量为 M的两个数据库Db 与Db 在Db 库中建立表T_ 有四个域 Name Age Sex ID_Code 以ID_Code为关键字 以Name为索引 在Db 库中建立表T_ 有五个域 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 ) 显示SQL Service Manager窗口 X=shell( net start mssqlserver ) 启动MSSQLServer服务 X=shell( net start sqlexecutive ) 启动SQLExecutive服务 因为在这里我们希望通过编程在SQL Server上实现数据对象结构的动态建立 因此建议使用行命令方式 启动了SQL Server Manager后 我们就可以利用DMO与Transact SQL按以下步骤来建数据对象了 为能使用DMO 首先需要打开VB工具栏中Reference(引用) 选择Microsoft Windows Common Control 如果在引用栏中没有发现此项 则选择Browse(浏览) 将\\WINNT\\System 目录下的Comctl oca加入到Reference中来 在模块文件( BAS)中建立SQLOLE对象 Global OServer as New SQLOLE SQLServer 建立与SQL Server的连接 OServer Connect ServerName:=注册的SQL Server名 Login:=登录名(一般为sa) Password =密码 建数据库设备Device_ 与Device_ dim transql as string transql= use master & _ DISK INIT & _ Name= Device_ & _ Physname= D:\\SQL\\data\\device dat & _ vdevno= & _ size= & _ DISK INIT & _ Name= Device & _ Physname= D:\\SQL\\data\\device dat & _ vdevno= & _ size= OServer ExecuteImmediate Command:=transql exectype:=SQLOLEExec_Default 建数据库Db_ 与Db_ transql = CREATE DATABASE Db_ ON Device_ = OServer ExecuteImmediate Command:=transql exectype:=SQLOLEExec_Default transql = CREATE DATABASE Db_ ON Device_ = OServer ExecuteImmediate Command:=transql exectype:=SQLOLEExec_Default 在数据库中建表: 在数据库Db_ 上建表T_ : transql = use Db_ & _ create table T_ & _ (Name char( ) null & _ Age numeric( ) null & _ Sex smallint null & _ ID_Code char( ) not null & _ constraint c_ primary key clustered (ID_Code)) OServer ExecuteImmediate Command:=transql exectype:=SQLOLEExec_Default 建表T_ 的Name列的索引 transql= CREATE INDEX index_ ON T_ (Name) OServer ExecuteImmediate Command:=transql exectype:=SQLOLEExec_Default 在数据库Db_ 上建表T_ : transql = use Db_ & _ create table T_ & _ (Name char( ) null & _ Age numeric( ) null & _ Sex smallint null & _ Department char( ) not nill & _ No char( ) not null & _ constraint c_ primary key clustered (Department No)) OServer ExecuteImmediate Command:=transql exectype:=SQLOLEExec_Default 此时 我们完成了建立数据对象的编码工作 程序被编译执行后 就会在SQL Server上自动建立数据库设备 数据库及库中的表 对于数据库设备 可以用DISK REINIT DISK REFIT DISK RESIZE对它进行操作 如要扩展数据库设备Device_ 的容量为 M 可利用如下方法 DISK RESIZE Name= Devive_ Size = 对于SQL Server上已经建立的数据库及表的结构 也可以通过DMO与事务SQL进行修改与删除 类似于上面的编码 可以利用Alter Database Db_ Alter DatabaseDb_ Alter Table T_ Alter Table T_ 等事务SQL语句进行对所建立的数据库与表的的结构进行修改 而利用Drop Database Drop Table事务语句删除所建立的数据库与表 以上讨论了如何在SQL Server上动态地建立与访问数据对象的结构 至于对SQL Server上数据库与表的内容的访问 可以利用ODBC(开放数据库互连) DAO(数据访问对象) RDO(远程数据对象)或DB Library进行编程 cha138/Article/program/SQLServer/201311/22128相关参考
SQLServer数据库对象信息的获取[4] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nbs
SQLServer数据库对象信息的获取[3] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nbs
SQLServer数据库对象信息的获取[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nbs
SQLServer数据库对象信息的获取[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nbs
使用ADO对象连接SQLServer数据库 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 链接代
使用动态SQL克隆数据库对象 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 首先给出一个警告下面
知识大全 为什么在使用动态 SQL 语句时必须为低层数据库对象授予权限
为什么在使用动态SQL语句时必须为低层数据库对象授予权限? 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一
知识大全 调整SQL Server 2000运行中数据库结构
调整SQLServer2000运行中数据库结构 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 开
SQLServer执行动态SQL正确方式 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! SQLS
SQLServer中动态和静态内存分配 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! SQL服务