97年以來基于WEB的數據庫應用在數據庫界談論的頗多,基于WEB的數據庫的應用,是將數據庫和WEB技術結合,按照BROWS/SERVER結構建立的通過瀏覽器訪問數據庫的服務系統。
目前以WEB數據庫為旗幟的產品、原形或設計方案及研究論文很多,開發數據庫的WEB應用,建立能與數據庫交互的WEB網頁,大致有三中方法:其一是網關接口(CGI),其二是JDBC(JAVADATABASECONNECTIVITY),其三是各數據庫廠家開發的各自的WEB中間間。
各數據庫廠家開發的各自的WEB中間件雖好不能通用;JDBC可移植性、安全性與可靠性有顯著優點,但對開發難度大,不能滿足廣大非專業人員的需要;CGI方式應用靈活,開發工具豐富,通用CGI程序也很多。本人通過在網上周游,尋得一WEB數據庫CGI接口程序ODBIC(101K字節大?。?,小巧玲瓏,應用靈活,可以和各種數據
庫(包括FOXPRO系列、SQLSERVER、ORACLE等)建立連接。
ODBIC(OPENDATABASEINTERNECONNECTOR)程序是運行在WINDOWSNT和WIN95上的共享軟件,可通過http://www.iodbc.com獲得該軟件(目前已有ODBIC1.5版,本文使用的是ODBIC1.4版)。ODBIC是在瀏覽器和數據庫之間提供一個接口,即一個CGI程序,可以通過瀏覽器時時更新和瀏覽數據庫。
通過ODBIC可以用標準的ANSISQL語句諸如:SELECT,INSERT,UPDATE,orDELETE對在ODBC中設置的所有數據庫進行操作。ODBIC的最大優點是可以用摸板文件作為輸入,摸板文件也能接收命令中通過submit發來的用戶輸入參數,摸板包含標準的HTML命令和文本,并且這些命令和文本ODBIC直接輸出到瀏覽器上,當然摸板也包含ODBIC命令和變量。當ODBIC以摸板作為輸入運行時,標準的HTML命令和文本直接輸出到瀏覽器上,發現ODBIC命令時立即執行,發現ODBIC變量時立即用變量的當前值代替。ODBIC命令是放在標準的HTML語言的注釋行里,ODBIC變量是用一對符號括著,下面一個很簡單的例子說明ODBIC命令和變量是如何出現在摸板文件里的:
< !--DATABASE DSN=$my_database$ -- >t; |
DATABASE、SQL、TABLE 是ODBIC的最基本的命令。
本文通過一個實例介紹用ODBIC編寫在中文WIN95下訪問SQLSERVER數據庫的應用程序,體會以下ODBIC功能的靈活、方便、易學的,推薦給大家共免。在下面的例子里,我們要用到一電信營業數據庫的長途電話明細表,表結構如下(數據庫名為TELEPHONE,所用表名為DETAIL):
主叫號碼(CALLER) 被叫號碼(CALLED) 起始時間(START-TIME) 通話時長(LENGTH)秒 通話話費(FEI)元
PQABCD1 0101234567 98/03 19/27 100 220
PQABCD2 0371123456 98/03 19/40 370 462
……
……
首先,建立ODBC數據庫的連接,打開WIN95的“設置”菜單中的“控制面板”,啟動ODBC驅動程序,設置相應的ODBC驅動器,本例中為SQLSERVER;建立數據源,為了方便此處數據源的名也為TELEPHONE。如果“控制面板”中沒有ODBC驅動程序,可以從WIN95的系統盤中裝入,也可從一些共享軟件站點下載,具體辦法此處不在贅述。
然后,編寫長話明細查詢主頁,為了簡化,清單中刪去了一些修飾性的HTML語句,查詢類型中也只保留了長話明細(可以包含電話擋案查詢和更改、交費匯總和明細、帳務處理等等)。
長話明細查詢主頁清單:SEARCH.HTML
|
接下來就是編寫摸板文件,在編寫之前,先介紹以下ODBIC的主要命令。ODBIC軟件主要有以下命令:
DATABASE定義連接ODBC數據庫的參數;
DEFAULT定義變量的默認初始值;
EACHROW,ENDROW格式化結構化查詢后的每一行結果;
EXEC執行一個系統命令或運行一個DOS程序;
EXIT終止ODBIC對摸板文件的執行;
FORMAT定義變量的輸出格式;
IF,ELSE,ENDIF變量條件判斷語句;
IFNEW判斷經過對某一字段排序的表是否該字段的值發生了變化;
INCLUDE讀入另一摸板文件;
OPTIONLIST從查詢結果產生一個HTML的“SELECTOPTION”命令;
OUTPUT把結果輸出到磁盤文件;
SET對變量賦值;
SQL執行ODBCSQL語句;
TABLE自動格式化SELECT語句的結果到HTML格式。
從以上命令可以看出,ODBIC軟件功能的強大,通過IF-ELSE-ENDIF和SET命令,可以編寫實現很多功能,下面摸板的功能是從SEARCH.HTML主頁中獲取電話號碼和授權口令,對所輸號碼的明細進行查詢,查詢結果以表格形式輸出,并對話費進行合計。摸板文件清單見后(文件中“//”后面的是注釋):摸板文件清單:MODEL.HTML
|
總上所述,我們SQLSERVER數據庫進行了交互訪問,同樣也可對ORACLE、SYBASE、ACCESS、FOXPRO系列等數據庫的訪問,并且在同一個摸板文件可以同時打開上述數據庫,并把它們關聯起來進行事務處理。對于廣大關心基于WEB的數據庫應用的計算機愛好者來說,ODBIC的確簡單、易學、功能強大,本文只是大致介紹了以下,希望我的文章能起到拋磚引玉的作用,歡迎朋友門交流、指導。
(責任編輯:銘銘)