999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Sybase ASE數據庫應用的免客戶端安裝解決方案

2008-01-01 00:00:00張鑫翊高艷玲
電腦知識與技術 2008年6期

摘要:SYBASE公司的ASE數據庫管理系統的客戶端與服務器的模式確保了應用程序運行穩定性和高效性,但是這種方式使得應用系統的維護非常困難,數據服務器的安全性不高。文章分析了如何在確保這種模式的優點的同時如何解決系統維護困難,提高數據服務器的安全性,并提出一種有效的解決方法。

關鍵詞:客戶機/服務器;OPEN CLIENT;封裝;安全性;系統維護

中圖分類號:TP311文獻標識碼:A 文章編號:1009-3044(2008)06-10000-00

Automatic encapsulateSybase Adaptive ServerEnterprise client

ZhangXinYi GaoYanLing

(Information Science and TechnologyInstitute of Jiujiang University, Jiujiang 332005,China)

abstract:SYBASE Corporation's ASE database management system in particular its client andserver pattern has guaranteed the application procedure movement stability and effectiveness, but this way causes the maintenance of the application systemto be extremely difficult, the data server security is also not high. this article mainly analyze how to solve the system maintenance difficulty, enhances the data server's security while guarantees this kind of pattern merit, and proposes one effective solution.

Key words:Client/server; OPEN CLIENT; encapsulate; security; maintain

1 Sybase Adaptive Server Enterprise介紹

Sybase Adaptive Server Enterprise是sybase公司的旗艦產品。在ASE系統中Sybase公司首先提出了客戶機與服務器的理論,將ASE分為OPEN SERVER和OPEN CLIENT兩個部分。Open server是一個服務器構造工具,幫助集成聯機企業的各種數據資源及服務。Open client是一個客戶端的應用程序包,提供調用級接口,用來建立有效的前端應用,向服務器Adaptive Server或Open Server程序發出請求,獲得消息和服務。

2 ODBC與客戶端模式的比較

在設計用客戶端/服務器(C/S)模式的數據庫應用程序時,windows平臺下的應用程序于DBMS連接的方法一般有兩種方式:一是通過微軟提供的公共數據接口ODBC與DBMS進行連接,二是直接使用DBMS廠商提供的客戶端與DBMS進行連接。前者需要DBMS廠商提供ODBC驅動程序,數據要經過多次編碼與解碼,運行速度較慢。而后者的整合性較好,數據傳輸速度快,但是必須安裝對應的DBMS客戶端程序。

3 客戶端模式的弊端

目前的許多應用系統都是以C/S模式進行設計的。在系統統入運行以后,我們發現雖然采用OPEN CLIENT與ASE進行連接可以加快了程序運行的速度,提高操作效率,但是無形的增加了系統的維護工作。

通常的做法是,在客戶端上安裝sybase central,并且使用dsedit命令準確配置server屬性,如圖1所示。

圖1 SYBASE ASE 客戶端手工配置窗口

這種方式由于必須在使用程序的client上安裝sybase central,這樣就使得系統的維護工作變得繁重,而且用戶使用也極不方便。一旦用戶需要重新安裝操作系統或不慎將sybase central改變,那么系統維護人員將不得不為系統用戶重新安裝與配置sybase central,這樣將使得維護人員花費大量的時間在重復的工作上,用戶也因為不能正常使用而影響工作的效率。最重要的一點:安裝sybase central能夠使得他人輕而易舉的了解到我后臺數據庫的名稱、IP地址以及端口號。這樣就為服務器的安全埋下了隱患。

4 客戶端模式實質分析

通過ODBC與DBMS進行連接實際上是調用了一些針對不同DBMS進行通信的動態鏈接庫實現的,而ODBC的驅動配置都是通過注冊表進行記錄,由此可知應用程序利用OPEN CLIENT與ASE進行連接的實質也是讀取一些配置文件和調用一些用于通信的動態庫,同樣要通過注冊表來記錄驅動程序相關信息。

分析注冊表發現,SYBASE客戶端連接的環境變量位于HKEY_LOCAL_MACHINE\\software\\sybase\\setup主鍵下面,在其下面有兩個鍵值名,分別是ProgramFolder和sybase,而ProgramFolder的鍵值是sybase,sybase的鍵值便是OPEN CLIENT的安裝目錄,應用程序便是通過這兩個鍵值來獲取OPEN CLIENT的安裝位置并調用對應的配置文件和通信動態庫,因此我們可以直接在應用程序中編寫代碼設置這兩個鍵值實現客戶端的自動封裝。

在setup主鍵下面還有一個SharedDLLs主鍵,它里面的鍵值都是一些動態庫名稱,而這些動態庫就是應用程序與ASE進行連接所必須的各種通信程序,在WINDOWS下面,應用系統查找動態鏈接庫的路徑一般是首先搜索當前目錄,然后通過注冊表搜索操作系統設置的驅動目錄,例如c:\\windows\\system目錄,因此我們在進行封裝的時候直接將這些動態庫放在應用程序當前目錄即可。

在ASE 客戶端的安裝目錄中,包含有配置文件的只有charsets目錄,是包含了各種字符集信息;ini目錄,包含了數據庫服務器的地址和端口信息;locales目錄,包含了各種系統的本地化語言信息,這三個目錄中的配置文件信息便是自動封裝ASE客戶端所必須的相關配置文件。

5 解決方案

因為每個用戶可能更加具體的情況將應用系統安裝在不同的系統路徑下面,因此我們的應用程序必須具備獲取自身所在路徑的功能。這一功能可以通過調用WINDOWS API函數GetModuleFileName實現,在PB中的做法是:

1)首先在declare中添加gloable external functions

Function ulong GetModuleFileName(ulong hModule,ref string lpFileName,ulong nSize) LIBRARY \"kernel32.dll\" ALIAS FOR \"GetModuleFileNameA\"

2)編寫獲取路徑的代碼

string str_AppPath//應用程序全路徑,包括程序文件名

integer int_ret,len_filename

str_AppPath = Space (128)

int_ret = GetModuleFileName (Handle (GetApplication ()), str_Apppath, 128)

//len_filename是可執行文件名稱長度,如a.exe的len_filename=4

str_apppath=left(str_appPath,len(str_appPath)-len_filename

獲取到應用程序的路徑后,通過注冊表操作函數設置ASE客戶端的環境變量:

//第一次使用時首先要配置ASE客戶端

Integer li_Rtn

string ls_temp,ls_key

//---0. 判斷是否已經存設置過sybase環境變量

ls_key=\"HKEY_LOCAL_MACHINE\\Software\"

li_Rtn=RegistryGet(ls_key,\"sybase\",RegString!,ls_temp)

IF li_Rtn=1 THEN

ls_key=\"HKEY_LOCAL_MACHINE\\Software\\sybase\"

Li_Rtn= RegistryGet(ls_key,\"setup\",RegString!,ls_temp)

If li_Rtn=1 then

Return

Else

messagebox(\"提示:\",\"您是第一次使用本系統,首先要注冊進行ASE客戶端配置!\",INFORMATION!)

endif

else

messagebox(\"提示:\",\"您是第一次使用本系統,首先要注冊進行ASE客戶端配置!\",INFORMATION!)

END IF

//設置客戶端環境變量

ls_key=\" HKEY_LOCAL_MACHINE\\Software\\Sybase\\setup\"

//創建ASE環境變量的鍵值

registryset(ls_key,\" ProgramFolder \",regstring!,\"sybase\")

registryset(ls_key,\"SYBASE\",regstring!,str_appPath+\"SYBASE\")

messagebox(\"提示信息….\",\"ASE客戶端設置完畢!\")

至此我們便實現了ASE客戶端的自動封裝工作,應用程序直接安裝就可以和ASE數據庫進行通信了。

參考文獻:

[1]董鋼. Sybase數據庫備份恢復故障處理一例[J]. 華南金融電腦,2007(01).

[2]畢明新.都淑萍 關于Sybase在應用系統中的運行效率研究[J].軟件導刊,2007(05).

[3]曾勇進.Sybase ODBC的安全性問題[J].科技咨詢導報,2007(10).

收稿日期:2008-01-12

作者簡介:張鑫翊(1986-)女,九江學院信息科學與技術學院,計算機科學與技術專業A0414班;高艷玲 (1978-),女,九江學院信息科學與技術學院,教師。

主站蜘蛛池模板: 美女毛片在线| 欧美国产菊爆免费观看 | 国产精品2| 全午夜免费一级毛片| 婷婷色狠狠干| 亚洲人成在线精品| 亚洲欧美日韩综合二区三区| 女同久久精品国产99国| 欧美一级99在线观看国产| 高清国产在线| 色综合久久久久8天国| 亚洲综合欧美在线一区在线播放| 国产精品亚欧美一区二区| 国产欧美视频在线观看| 欧美日韩国产在线观看一区二区三区| 全部免费特黄特色大片视频| 国产大全韩国亚洲一区二区三区| 一本久道久久综合多人| 久无码久无码av无码| 久久中文字幕av不卡一区二区| 国产成人免费观看在线视频| 欧美综合区自拍亚洲综合绿色| 国产免费久久精品99re丫丫一| 久久国产亚洲欧美日韩精品| 国产成人精品优优av| 成人一区在线| 992tv国产人成在线观看| 国产一区二区三区夜色| 一本大道视频精品人妻| 九九这里只有精品视频| 人与鲁专区| 国产99精品视频| 亚洲开心婷婷中文字幕| 91精品国产福利| 五月六月伊人狠狠丁香网| 国产主播喷水| 国产成人免费| 欧美国产成人在线| 国产精品成人AⅤ在线一二三四| 亚洲欧美日韩中文字幕在线一区| www.亚洲色图.com| 五月婷婷精品| 最新国产网站| 成人免费网站久久久| 国产18页| 亚洲成人精品| 天堂久久久久久中文字幕| 久久精品亚洲热综合一区二区| 看你懂的巨臀中文字幕一区二区| 色哟哟精品无码网站在线播放视频| 国产极品嫩模在线观看91| 91成人在线免费观看| 亚洲天堂网站在线| 亚洲一区国色天香| 欧美成人午夜在线全部免费| 小说 亚洲 无码 精品| 国产精品美人久久久久久AV| 久久久精品无码一二三区| 国产精品专区第1页| 精品伊人久久大香线蕉网站| 欧美在线网| 精品91视频| 久久免费成人| 国产精品思思热在线| 精品五夜婷香蕉国产线看观看| 国内嫩模私拍精品视频| 伊人大杳蕉中文无码| 夜夜操狠狠操| 久久中文电影| 久久亚洲美女精品国产精品| 国产嫩草在线观看| 欧美在线观看不卡| 成人在线综合| 重口调教一区二区视频| 亚洲国产成人精品一二区| 久操线在视频在线观看| 日本五区在线不卡精品| 奇米影视狠狠精品7777| 最新国语自产精品视频在| 亚洲欧美国产高清va在线播放| 99无码中文字幕视频| 日韩二区三区无|