电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

SQL Server數據對象結構的動態建立與訪問

瀏覽:144日期:2023-10-30 11:54:05

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(瀏覽),將WINNTSystem32目錄下的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:SQLdatadevice1.dat',' & _ 'vdevno=10,' & _ 'size=102400' & _ 'DISK INIT' & _ 'Name='Device2',' & _ 'Physname='D:SQLdatadevice2.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進行編程。

標簽: Sql Server 數據庫
主站蜘蛛池模板: 永嘉县奥阳陶瓷阀门有限公司| 硫化罐-电加热蒸汽硫化罐生产厂家-山东鑫泰鑫智能装备有限公司 | Duoguan 夺冠集团| 污水处理设备维修_污水处理工程改造_机械格栅_过滤设备_气浮设备_刮吸泥机_污泥浓缩罐_污水处理设备_污水处理工程-北京龙泉新禹科技有限公司 | 贝朗斯动力商城(BRCPOWER.COM) - 买叉车蓄电池上贝朗斯商城,价格更超值,品质有保障! | 水成膜泡沫灭火剂_氟蛋白泡沫液_河南新乡骏华消防科技厂家 | 医院专用门厂家报价-医用病房门尺寸大全-抗菌木门品牌推荐 | 紫外线老化试验箱_uv紫外线老化试验箱价格|型号|厂家-正航仪器设备 | 上海租奔驰_上海租商务车_上海租车网-矢昂汽车服务公司 | IP检测-检测您的IP质量 | 鲁尔圆锥接头多功能测试仪-留置针测试仪-上海威夏环保科技有限公司 | 高温链条油|高温润滑脂|轴承润滑脂|机器人保养用油|干膜润滑剂-东莞卓越化学 | 滚塑PE壳体-PE塑料浮球-警示PE浮筒-宁波君益塑业有限公司 | 定做大型恒温循环水浴槽-工业用不锈钢恒温水箱-大容量低温恒温水槽-常州精达仪器 | 在线PH计-氧化锆分析仪-在线浊度仪-在线溶氧仪- 无锡朝达 | 诺冠气动元件,诺冠电磁阀,海隆防爆阀,norgren气缸-山东锦隆自动化科技有限公司 | 低粘度纤维素|混凝土灌浆料|有机硅憎水粉|聚羧酸减水剂-南京斯泰宝 | 吲哚菁绿衍生物-酶底物法大肠菌群检测试剂-北京和信同通科技发展有限公司 | 国际学校_国际学校哪个好_国际课程学校-国际学校择校网 | 混合生育酚_醋酸生育酚粉_琥珀酸生育酚-山东新元素生物科技 | 深圳美安可自动化设备有限公司,喷码机,定制喷码机,二维码喷码机,深圳喷码机,纸箱喷码机,东莞喷码机 UV喷码机,日期喷码机,鸡蛋喷码机,管芯喷码机,管内壁喷码机,喷码机厂家 | 水质监测站_水质在线分析仪_水质自动监测系统_多参数水质在线监测仪_水质传感器-山东万象环境科技有限公司 | 石家庄小程序开发_小程序开发公司_APP开发_网站制作-石家庄乘航网络科技有限公司 | 慢回弹测试仪-落球回弹测试仪-北京冠测精电仪器设备有限公司 | 碳化硅,氮化硅,冰晶石,绢云母,氟化铝,白刚玉,棕刚玉,石墨,铝粉,铁粉,金属硅粉,金属铝粉,氧化铝粉,硅微粉,蓝晶石,红柱石,莫来石,粉煤灰,三聚磷酸钠,六偏磷酸钠,硫酸镁-皓泉新材料 | 土壤养分检测仪|土壤水分|土壤紧实度测定仪|土壤墒情监测系统-土壤仪器网 | 自动部分收集器,进口无油隔膜真空泵,SPME固相微萃取头-上海楚定分析仪器有限公司 | 超声波焊接机_超音波熔接机_超声波塑焊机十大品牌_塑料超声波焊接设备厂家 | 【铜排折弯机,钢丝折弯成型机,汽车发泡钢丝折弯机,线材折弯机厂家,线材成型机,铁线折弯机】贝朗折弯机厂家_东莞市贝朗自动化设备有限公司 | 东莞喷砂机-喷砂机-喷砂机配件-喷砂器材-喷砂加工-东莞市协帆喷砂机械设备有限公司 | 慢回弹测试仪-落球回弹测试仪-北京冠测精电仪器设备有限公司 | 大流量卧式砂磨机_强力分散机_双行星双动力混合机_同心双轴搅拌机-莱州市龙跃化工机械有限公司 | 课件导航网_ppt课件_课件模板_课件下载_最新课件资源分享发布平台 | 焊锡丝|焊锡条|无铅锡条|无铅锡丝|无铅焊锡线|低温锡膏-深圳市川崎锡业科技有限公司 | 亿立分板机_曲线_锯片式_走刀_在线式全自动_铣刀_在线V槽分板机-杭州亿协智能装备有限公司 | 东莞办公家具厂家直销-美鑫【免费3D效果图】全国办公桌/会议桌定制 | 我车网|我关心的汽车资讯_汽车图片_汽车生活! | 超声骨密度仪-骨密度检测仪-经颅多普勒-tcd仪_南京科进实业有限公司 | 菏泽知彼网络科技有限公司 | 氧化锆纤维_1800度高温退火炉_1800度高温烧结炉-南京理工宇龙新材料股份有限公司 | 密封圈_泛塞封_格莱圈-[东莞市国昊密封圈科技有限公司]专注密封圈定制生产厂家 |