WEB开发网
开发学院数据库MSSQL Server SQL Server数据对象结构的动态建立与访问 阅读

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

 2007-11-11 04:22:58 来源:WEB开发网   
核心提示: ·掌握VB中的ADO数据对象编程·Oracle(大型网站数据库平台)常用的SQL语法和数据对象·Java数据对象技术JDO初步概览·Java数据对象(JDO)的前世今生·Oracle(大型网站数据库平台)常用的几种SQL语法和数据对象·
    ·掌握VB中的ADO数据对象编程
    ·Oracle(大型网站数据库平台)常用的SQL语法和数据对象
    ·Java数据对象技术JDO初步概览
    ·Java数据对象(JDO)的前世今生
    ·Oracle(大型网站数据库平台)常用的几种SQL语法和数据对象
    ·Java数据对象技术JDO(1)
    ·Oracle(大型网站数据库平台)数据库数据对象分析(中)
    ·简析Visual C++中的活动数据对象
    ·Oracle(大型网站数据库平台)数据库数据对象分析(上)
    ·Java 数据对象(JDO)介绍(1)

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

X=shell("Sqlmgr.exe",1) 显示SQL Service Manager窗口;
X=shell("net start mssql(WINDOWS平台上强大的数据库平台)server") 启动mssql(WINDOWS平台上强大的数据库平台)Server服务
X=shell("net start sqlexecutive") 启动SQLExecutive服务

  因为在这里我们希望通过编程在sql server(WINDOWS平台上强大的数据库平台)上实现数据对象结构的动态建立,因此建议使用行命令方式。

  启动了sql server(WINDOWS平台上强大的数据库平台) 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(WINDOWS平台上强大的数据库平台)的连接:

OServer.Connect ServerName:=注册的sql server(WINDOWS平台上强大的数据库平台)名,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 Prima(最完善的虚拟主机管理系统)ry 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 Prima(最完善的虚拟主机管理系统)ry key clustered (Department,No))"
OServer.ExecuteImmediate Command:=transql, exectype:=SQLOLEExec_Default

  此时,我们完成了建立数据对象的编码工作,程序被编译执行后,就会在sql server(WINDOWS平台上强大的数据库平台)上自动建立数据库设备、数据库及库中的表。

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

DISK RESIZE
Name='Devive_1',
Size = 102400

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

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

上一页  1 2 

Tags:SQL Server 数据

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