- 相關(guān)推薦
開(kāi)發(fā)基于SQL SERVER 的C/S數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)?
吳俊峰
(合肥市經(jīng)濟(jì)信息中心計(jì)算機(jī)通信部)??
SQL Server 6.5作為面向中小型企業(yè)的網(wǎng)絡(luò)數(shù)據(jù)庫(kù)服務(wù)系統(tǒng),提供了 與眾多高級(jí)數(shù)據(jù)庫(kù)管理器相同的運(yùn)行性能,向傳統(tǒng)的數(shù)據(jù)庫(kù)廠商發(fā)起了強(qiáng)有力的挑戰(zhàn)。在程 序設(shè)計(jì)方面:SQL Server 6.5采用了關(guān)鍵而新穎的對(duì)稱式結(jié)構(gòu),從而簡(jiǎn)化了程序設(shè)計(jì),并且 Microsoft在它的Visual Basic可視化編程語(yǔ)言中為程序員提供了良好的控件;在數(shù)據(jù)庫(kù)管 理方面:SQL Server 6.5以一種易于管理的方式處理多服務(wù)器事務(wù)管理,提供了一種把SQL Server系統(tǒng)擴(kuò)展而超出單個(gè)計(jì)算機(jī)能力的方法。?
SQL Server 6.5主要具有以下幾個(gè)功能:?
全面的數(shù)據(jù)完整性保護(hù),無(wú)論是復(fù)雜的事務(wù)支持和高級(jí)安全性,還是面向用戶的數(shù)據(jù)庫(kù)隱式 部分,以及數(shù)據(jù)完整性保護(hù)都適用;?
與Windows NT集成,允許在SMP(對(duì)稱多處理)系統(tǒng)中進(jìn)行徹底的多線程和對(duì)稱多處理,并 且可集成到分布式管理環(huán)境中;?
在低造價(jià)平臺(tái)上也具有突出性能;?
為系統(tǒng)管理員提供一流的管理工具;?
對(duì)多處理器“分布式”事務(wù)的內(nèi)在支持。?
以下介紹一種怎樣利用Microsoft SQL Server 6.5在Windows NT Server上構(gòu)筑開(kāi)發(fā)環(huán)境, 完成一般的客戶/服務(wù)器應(yīng)用系統(tǒng)。??
1. 在SQL SERVER 6.5上創(chuàng)建一個(gè)數(shù)據(jù)設(shè)備(在創(chuàng)建數(shù)據(jù)庫(kù)之前必須為該 數(shù)據(jù)庫(kù)創(chuàng)建一個(gè)存儲(chǔ)設(shè)備)??
(1) 從 Microsoft SQL Server 6.5 Utilties 程序組內(nèi)打開(kāi) SQL EM。?
(2) 在Server Manager 窗口里,選擇創(chuàng)建數(shù)據(jù)庫(kù)的服務(wù)器。如hfnm.。?
(3) 選擇Manage菜單項(xiàng),然后選擇Database Device選項(xiàng)。出現(xiàn)Manage Database Device窗 口。?
(4) 選擇New Device 按鈕(第一個(gè))。出現(xiàn)New Database Device窗口。?
(5) Name:為所要?jiǎng)?chuàng)建的設(shè)備名;Location:可以選擇創(chuàng)建設(shè)備的地點(diǎn)(如:c:\databas e);Size(MB):用于設(shè)定此設(shè)備的大小(一般為數(shù)據(jù)庫(kù)的1.25倍)。?
(6) 單擊 Create Now按鈕,創(chuàng)建此設(shè)備。?
注意:請(qǐng)?jiān)趧?chuàng)建數(shù)據(jù)庫(kù)之前必須先創(chuàng)建兩個(gè)存儲(chǔ)設(shè)備,一個(gè)是數(shù)據(jù)庫(kù)的物理設(shè)備,另一個(gè)是數(shù)據(jù)庫(kù) 的邏輯設(shè)備。?
2. 在SQL SERVER 6.5上創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)?
(1) 從 Microsoft SQL Server 6.5 Utilties 程序組內(nèi)打開(kāi) SQL EM。?
(2) 在Server Manager 窗口里,選擇創(chuàng)建數(shù)據(jù)庫(kù)的服務(wù)器。如hfnm.。?
(3) 選擇Manage菜單項(xiàng),然后選擇Database 選項(xiàng)。出現(xiàn)Manage Database窗口。?
(4) 選擇New Database 按鈕(第一個(gè))。出現(xiàn)New Database窗口。?
(5) Name項(xiàng)為數(shù)據(jù)庫(kù)名,Data Device 為數(shù)據(jù)庫(kù)物理設(shè)備名稱,Size是該物理設(shè)備 為數(shù)據(jù)庫(kù)分配的存儲(chǔ)空間(MB);Logic Device為數(shù)據(jù)庫(kù)邏輯設(shè)備名稱,Size是該邏輯設(shè)備 為數(shù)據(jù)庫(kù)分配的存儲(chǔ)空間(MB)。請(qǐng)不要復(fù)選Default Device選項(xiàng)。?
(6) 按Create Now按鈕,正式創(chuàng)建數(shù)據(jù)庫(kù)。?
3. 在已有的數(shù)據(jù)庫(kù)上創(chuàng)建數(shù)據(jù)表?
(1) 從 Microsoft SQL Server 6.5 Utilties 程序組內(nèi)打開(kāi) SQL EM
。?
(2) 在Server Manager 窗口里,選擇服務(wù)器。單擊所要?jiǎng)?chuàng)建數(shù)據(jù)表的數(shù)據(jù)庫(kù)旁的加號(hào)。再 單擊數(shù)據(jù)庫(kù)的Group/Users以及Objects組件。?
(3) 單擊Objects組件旁邊的加號(hào)。Server Manager 將展開(kāi)Objects 項(xiàng)目,并顯示出可操作 的所有數(shù)據(jù)庫(kù)對(duì)象。?
(4) 選擇Table對(duì)象。然后單擊Manager 菜單項(xiàng),并選擇Tables項(xiàng)目。將出現(xiàn)Manager Table (管理表格)窗口。
?(5) 現(xiàn)在保持Table組合框?yàn)?lt;new>(如果在組合框選擇了其他表,那 么就可以修改它)。?
Column name:字段名Datatype:字段類(lèi)型?
Size:字段長(zhǎng)度Nulls:是否允許空值?
Default:默認(rèn)值?
(6) 按Save按鈕,保存表格。?
4. 為數(shù)據(jù)表創(chuàng)建主關(guān)鍵字?
(1) 啟動(dòng)Microsoft SQL Server 6.5 EM ,選擇適當(dāng)?shù)姆⻊?wù)器以及數(shù)據(jù)庫(kù)。單擊數(shù)據(jù)庫(kù) 旁的加號(hào),Server Manager會(huì)展開(kāi)數(shù)據(jù)庫(kù),并列出所有組件。?
(2) 單擊Objects項(xiàng)目旁邊的加號(hào),Server Manager會(huì)列出可操作的數(shù)據(jù)庫(kù)對(duì)象。?
(3) 單擊Tables文件夾旁邊的加號(hào)。用右鍵點(diǎn)擊相應(yīng)的數(shù)據(jù)表對(duì)象,然后從彈出式菜單里選 擇Edit命令。隨后屏幕上會(huì)出現(xiàn)Manage Tables窗口。?
(4) 單擊工具欄上的Advanced Features (高級(jí)特性)按鈕。隨后會(huì)出現(xiàn)與表格有關(guān)的更詳細(xì) 的信息。?
(5) 在第一張卡片(Primary Key/Identity)里,可設(shè)置主關(guān)鍵字。單擊Primary Key窗框 里的Column Names(列名)組合框。會(huì)顯示出未設(shè)為Nulls的一系列列名。請(qǐng)選擇適當(dāng)?shù)牧校?使其成為主關(guān)鍵字。?
(6) 對(duì)于主關(guān)鍵字來(lái)說(shuō),索引類(lèi)型應(yīng)定義為(non-clustered)。單擊Add按鈕,在表格里添 加主關(guān)鍵字信息。?
注意:?① 主關(guān)鍵字的定義對(duì)于一個(gè)數(shù)據(jù)表來(lái)說(shuō)是非常重要的,如果沒(méi)有主關(guān)鍵字,那么這個(gè)數(shù)據(jù) 表將是只讀的。?
② 主關(guān)鍵字的定義必須在數(shù)據(jù)表保存之前,因?yàn)閿?shù)據(jù)表在保存后,所增加的字段將不允許為非NULL型。?
5. 為表格創(chuàng)建群集索引?
(1) 啟動(dòng)SQL EM,選擇相應(yīng)的數(shù)據(jù)庫(kù)。?
(2) 從Manage菜單里選擇Indexes選項(xiàng)。?
(3) 在Table組合框里,選擇適當(dāng)?shù)臄?shù)據(jù)表。在Index組合框里,選擇<new>,以便創(chuàng)建一個(gè) 新索引。在里面輸入新索引的名字。?
(4) 在Available Columns In Table (表格內(nèi)的可用列)列表內(nèi),選擇適當(dāng)?shù)牧胁聪翧dd按 鈕。這樣會(huì)將列名移至Columns In Index(Key)列表框。還可選擇多列。?
(5) 在Index Attribute (索引屬性)窗框內(nèi),選擇Clustered (群集)復(fù)選框。?
(6) 在Clustered旁邊的兩個(gè)單選鈕中,Allow duplicate rows 表示允許重復(fù)行。?
(7) 按Build按鈕,開(kāi)始創(chuàng)建索引。?
6. 在SQL Server中為數(shù)據(jù)庫(kù)開(kāi)用戶?
(1) 啟動(dòng)Microsoft SQL Server 6.5 EM ,選擇適當(dāng)?shù)姆⻊?wù)器。?
(2) 選擇login目錄,單擊右鍵,選擇 New Login...,彈出 Manage Logins窗口。?
(3) 在Login Name中輸入用戶名;在Password中輸入用戶密碼;在數(shù)據(jù)庫(kù)框中,選擇用戶所 要訪問(wèn)的數(shù)據(jù)庫(kù)。?
>
(4) 單擊“ADD”按鈕。重復(fù)一次密碼。?
7. 在SQL Server中為數(shù)據(jù)庫(kù)用戶設(shè)置訪問(wèn)權(quán)限?
(1) 對(duì)于新開(kāi)的數(shù)據(jù)庫(kù)一定要為訪問(wèn)它的用戶提供權(quán)限,否則這個(gè)數(shù)據(jù)庫(kù)是不能被訪問(wèn)的。 ?
(2) 啟動(dòng)Microsoft SQL Server 6.5 EM ,選擇適當(dāng)?shù)姆⻊?wù)器以及數(shù)據(jù)庫(kù)。?
(3) 從Object菜單中選擇Object Permission菜單項(xiàng),再在彈出的對(duì)話框中列出了單擊By Us er標(biāo)簽。?
(4) 要想授予一個(gè)用戶或用戶組特定的權(quán)限,只要從User/Group下拉式列表中選定用戶或用 戶組,并單擊相應(yīng)權(quán)限的單元格。?
(5) 最后單擊“Set”按鈕,保存設(shè)置。?
另外,SQL Server 6.5也為系統(tǒng)管理員提供了功能強(qiáng)大的備份和恢復(fù)數(shù)據(jù)庫(kù)功能。?
但是,想從網(wǎng)絡(luò)客戶機(jī)訪問(wèn)SQL Server只設(shè)服務(wù)器方還不行。利用Visual Basic 對(duì)SQL Ser ver進(jìn)行編程還需要對(duì)客戶端的ODBC進(jìn)行設(shè)置。?
ODBC(開(kāi)放數(shù)據(jù)庫(kù)連接)是Microsoft為應(yīng)用程序開(kāi)發(fā)人員提供的一種策略。它采用 單一的API來(lái)輻射各種不同的數(shù)據(jù)庫(kù)引擎、關(guān)系和非關(guān)系的DBMS(數(shù)據(jù)庫(kù)管理系統(tǒng))。它使 數(shù)據(jù)庫(kù)開(kāi)發(fā)人員在開(kāi)發(fā)數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的時(shí)候,可以使用熟悉的ODBC SQL語(yǔ)法,而不用考慮 數(shù)據(jù)源是什么。?
8. 以下是客戶端ODBC的設(shè)置和調(diào)試方法?
(1) 對(duì)于USER DSN的設(shè)置?
① 在系統(tǒng)的“開(kāi)始”菜單上選擇“設(shè)置”,單擊其中的“控制面板”,彈出控制面板框。 ?
② 雙擊“32bit ODBC”圖標(biāo),彈出“ODBC data source administrator”窗口,選擇“USE R DSN”頁(yè),單擊“Add...”按鈕。?
③ 在“Create New Data Source”窗口中選擇“
SQL SERVER”后,單擊“完成”按鈕,彈 出“ODBC SQL SERVER Setup”窗口。?
④ 在 Data Source Name 中輸入數(shù)據(jù)源名,如
“pms”;在 Description 中輸入描述信息 (可選);在 Server 中輸入SQL SERVER 服務(wù)器名,如“hfserver”;單擊Option 按鈕, 在 Database Name 中輸入SQL SERVER 數(shù)據(jù)庫(kù)名,如“PMS98”,單擊“OK”按鈕。?⑤ 單擊
“確定”按鈕。?(2) 對(duì)于File DSN的調(diào)試?
① 在系統(tǒng)的
“開(kāi)始”菜單上選擇“設(shè)置”,單擊其中的“控制面板”,彈出控制面板框。 ?② 雙擊
“32bit ODBC”圖標(biāo),彈出“ODBC data source administrator”窗口,選擇“Fil e DSN”頁(yè),單擊“Add...”按鈕。?③ 在
“Create New Data Source”窗口中選擇“SQL SERVER”后,單擊
“下一步”按鈕, 在彈出的輸入框中輸入數(shù)據(jù)源名,如“pms”, 單擊“下一步”按鈕,在彈出的信息框中單 擊“完成”按鈕。?
④ 在彈出的SQL Server Login對(duì)話框中:在
“Server”欄中輸入SQL Server服務(wù)器名;在 “Login ID”欄和“Password”欄中輸入登陸SQL Server時(shí)用的用戶名和用戶口令;然后單 擊“Options》”按鈕,在Options框中的Database欄中選擇所想登陸的SQL Server數(shù)據(jù)庫(kù)名 。然后單擊“OK”按鈕。?Visual Basic 5.0 是Microsoft推出的一個(gè)功能強(qiáng)大的可視化編程工具。它憑借與ODBC良好 的接口和提供給用戶極其完善的網(wǎng)絡(luò)數(shù)據(jù)庫(kù)訪問(wèn)控件,贏得國(guó)內(nèi)外眾多編程愛(ài)好者的青睞。 有了Visual Basic我們可以利用它的ODBC接口在幾分鐘內(nèi)編制一個(gè)基于SQL Server的客戶機(jī) /服務(wù)器數(shù)據(jù)庫(kù)應(yīng)用軟件。??
9. 以下采用編程常用的DAO和RDO兩種方法,為大家介紹 一下怎樣使用Visual Basic 5.0訪問(wèn)遠(yuǎn)程SQL Server數(shù)據(jù)庫(kù)??
(1) 用DAO方法打開(kāi)遠(yuǎn)程數(shù)據(jù)庫(kù)?
① 在本地ODBC的FileDSN中設(shè)置與SQL SERVER連接的數(shù)據(jù)源。?
需要設(shè):Data Source Name:數(shù)據(jù)源名,Server:SQL服務(wù)器名,Login ID:用戶名,Password :用戶口令,Database Name:數(shù)據(jù)庫(kù)名。(這種設(shè)置不可在單機(jī)狀態(tài)下設(shè))?
② 添加data控件,以及一個(gè)DBGrid控件?
③ 在程序中添加如下代碼:假定數(shù)據(jù)源名為pms;用戶名為:test;用戶口令為:355;SQL Server數(shù)據(jù)表為:工資情況。?
Dim ssql As String?
Data1.Connect=″ODBC;DSN=pms;uid=test;pwd=355″?
ssql=″select*from 工資情況″?
Data1.RecordSource=ssql?
Data.Refresh?
④ 運(yùn)行程序即可。?
(2) 用RDO方法打開(kāi)遠(yuǎn)程數(shù)據(jù)庫(kù)?
① 在本地ODBC的UserDSN中設(shè)置與SQL SERVER連接的數(shù)據(jù)源。?
需要設(shè):Data Source Name:數(shù)據(jù)源名,Descrption:描述,Server:SQL Server服務(wù)器名,D atabase Name:數(shù)據(jù)庫(kù)名。(這種設(shè)置可在單機(jī)狀態(tài)下設(shè))?
② 在程序中添加
:?
Option Explicit?
Private mrdoenv As rdoEnvironment?
Private mrdoconn As rdoConnection?
Private mrdors As rdoResultset?
Private Sub Command1Click()?
Dim ssql As String?
Set mrdoenv=rdoEnvironments(0)?
Set mrdoconn=mrdoenv.OpenConnection(″pms″,rdDriverNoPrompt,False,″ODBC;UID=te st;PWD=355″)?
ssql=″select*from 工資情況″?
Set mrdors=mrdoconn.OpenResultset(ssql,rdOpenKeyset,rdConcurRowVer,0)?
以后對(duì)mrdors對(duì)象進(jìn)行操作即可。(如:可用Text控件與其相連,但不可用DBGrid。)。?
(3) 用DAO控件打開(kāi)遠(yuǎn)程數(shù)據(jù)庫(kù)?
① 在本地ODBC的UserDSN中設(shè)置與SQL SERVER連接的數(shù)據(jù)源。(下轉(zhuǎn)第19頁(yè))
? 需要設(shè):Data Source Name:數(shù)據(jù)源名,Description:描述,Server:SQL Server服務(wù)器名, Database Name:數(shù)據(jù)庫(kù)名。(這種設(shè)置可在單機(jī)狀態(tài)下設(shè))?
② 添加DAO控件和DBGrid控件。?
DAO控件:在DataSourcename中添入相應(yīng)的ODBC的DSN,如
“pms”;?DBGrid:在Datasource中選擇相應(yīng)的DAO控件名。?
③ 在程序中添加:?
Data1.Connect=″UID=test;PWD=355″?
ssql=″select*from 工資情況 where 姓名 like′*′″?
Data1.RecordSource=ssql?
Data1.Refresh?
④ 運(yùn)行程序即可。?
(4) 用RDO控件打開(kāi)遠(yuǎn)程數(shù)據(jù)庫(kù)?
① 在本地ODBC的UserDSN中設(shè)置與SQL SERVER連接的數(shù)據(jù)源。?
需要設(shè):Data Source Name:數(shù)據(jù)源名,Description:描述,Server:SQL Server服務(wù)器名, Database Name:數(shù)據(jù)庫(kù)名。(這種設(shè)置可在單機(jī)狀態(tài)下設(shè))?
② 添加RDO控件和DBGrid控件:?
RDO控件:在DataSourcename中添入相應(yīng)的ODBC的DSN;在SQL中添入SQL查詢語(yǔ)句;在Passwo rd中添入訪問(wèn)此數(shù)據(jù)庫(kù)的密碼;在Username中添入訪問(wèn)此數(shù)據(jù)庫(kù)的用戶名。?
DBGrid:在Datasource中選擇相應(yīng)的RDO控件名。?
③ 運(yùn)行程序即可。?
注意:如果需要使用模糊查詢功能,那么RDO的方法和控件均不適用。?
請(qǐng)選擇DAO控件使用。?
通過(guò)上述設(shè)置,我們可以用SQL Server和Visual Basic這兩種功能強(qiáng)大的網(wǎng)絡(luò)編程軟件編制 出各種滿足需要的Client/Server數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)。
【開(kāi)發(fā)基于SQL SERVER 的C/S數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)?】相關(guān)文章:
基于B/S體系結(jié)構(gòu)開(kāi)發(fā)應(yīng)用系統(tǒng)08-06
基于B/S體系結(jié)構(gòu)開(kāi)發(fā)應(yīng)用系統(tǒng)08-06
基于μC/OS的嵌入式系統(tǒng)應(yīng)用開(kāi)發(fā)研究08-19
SQL Server數(shù)據(jù)庫(kù)教學(xué)方法探索05-30
基于Client/Server 的課件系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)08-06
基于Client/Server 的課件系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)04-12
開(kāi)發(fā)基于Web的地震目錄數(shù)據(jù)庫(kù)查詢系統(tǒng)08-06
ASP開(kāi)發(fā)Browse/Server模式的Web數(shù)據(jù)庫(kù)08-06
基于XML的三層C/S模型08-06