ASP的基于服務(wù)器端的腳本設(shè)計(jì)思路和ADO的方便快捷,使用戶在開發(fā)Web數(shù)據(jù)庫時(shí)省力不少。ASP最常用的開發(fā)環(huán)境是InterDev,但I(xiàn)nterDev比較昂貴,使用起來也比較復(fù)雜。也許我們只是想將原有的Xbase數(shù)據(jù)放到公司的Web服務(wù)器上,方便公司外部客戶的查詢,內(nèi)部依然使用基于VFP的應(yīng)用程序。下面介紹一種通過Windows95/98 +PWS+Access 2000快速實(shí)現(xiàn)基于VFP數(shù)據(jù)庫查詢的Web頁面的方法。該方法同樣適用于NT+I(xiàn)IS環(huán)境。
1.添加系統(tǒng)DSN
使用ASP技術(shù)的Web頁能否存取某一種數(shù)據(jù)庫,關(guān)鍵在于ODBC驅(qū)動(dòng)程序,只要服務(wù)器安裝了相應(yīng)的ODBC驅(qū)動(dòng),你的主頁就可以很方便地讀取各種數(shù)據(jù)庫,如Access、Excel、Foxpro、Paradox、SQL Server、Oracle等。ODBC的參數(shù)設(shè)置可以在腳本程序中直接指定,也可以把ODBC的參數(shù)設(shè)置在系統(tǒng)的DSN(Date Source Name)中,在腳本程序中以DSN啟動(dòng)數(shù)據(jù)庫。使用DSN通過ODBC訪問數(shù)據(jù)庫的優(yōu)點(diǎn)是,當(dāng)我們改變數(shù)據(jù)庫時(shí),只要重新設(shè)置系統(tǒng)DSN,不需要修改程序中的ODBC參數(shù)(注意:只有系統(tǒng)DSN對(duì)所有用戶都可見,而用戶DSN和文件DSN,分別只對(duì)當(dāng)前用戶和安裝了相同驅(qū)動(dòng)程序的用戶可見,不要設(shè)錯(cuò)了!)。添加系統(tǒng)DSN的步驟如下:
步驟一:經(jīng)由“控制面板”→“ODBC數(shù)據(jù)源(32位)”→“系統(tǒng)DNS”標(biāo)簽,單擊“添加...”按鈕,出現(xiàn)“創(chuàng)建新數(shù)據(jù)源”對(duì)話框。
步驟二:從上述對(duì)話框的列表框選擇“Microsoft FoxPro VFP Driver(.dbf)”項(xiàng)(如果沒有此項(xiàng)可以從Office 2000或Visual FoxPro中安裝,Office 2000默認(rèn)并不安裝VFP的ODBC),單擊“完成”按鈕,出現(xiàn)“ODBC Visual FoxPro Setup”對(duì)話框。
步驟三:在“Date Source Name”編輯框中填入數(shù)據(jù)源的名字,例如:“School”。選擇自己的VFP數(shù)據(jù)庫類型,可以選擇DBC庫或自由表的目錄。通過“Browse...”按鈕選擇數(shù)據(jù)庫或者自由表的目錄。打開“Options...〉〉”,從“Collating sequence”下拉列表中選擇“PinYin”,使你的中文字串按拼音排序。單擊“OK”按鈕,完成添加DSN。
2.在Access 2000上建立鏈接表
添加了VFP的DSN后,就可以在Access 2000內(nèi)直接打開VFP數(shù)據(jù)庫了。
步驟一:啟動(dòng)Access 2000選擇新建“空Access數(shù)據(jù)庫”,隨便起一個(gè)名字,保存在任意位置,因?yàn)锳ccess數(shù)據(jù)庫僅為一個(gè)過渡,用過后就可以刪除掉。
步驟二:在主窗口的快捷選單上選擇“鏈接表...”項(xiàng)(你也可以用“導(dǎo)入...”,但當(dāng)VFP數(shù)據(jù)庫較大時(shí),導(dǎo)入Access的數(shù)據(jù)可是很占地兒的),出現(xiàn)“鏈接”對(duì)話框,從“文件類型”下拉列表中選擇“ODBC Database ()”。屏幕出現(xiàn)“選定數(shù)據(jù)源”對(duì)話框。
步驟三:選擇“機(jī)器數(shù)據(jù)源”標(biāo)簽,從列表中選擇你在前面定義的DSN,如School,單擊“確定”按鈕。
步驟四:從出現(xiàn)的導(dǎo)入對(duì)象對(duì)話框中,選擇你要提供Web頁查詢的VFP數(shù)據(jù)庫中的數(shù)據(jù)表和視圖,單擊“確定”后,隨便指定“惟一的記錄標(biāo)識(shí)符”后“確定”。Access就和VFP數(shù)據(jù)庫鏈接上了。我們現(xiàn)在就可以雙擊鏈接圖標(biāo),瀏覽VFP數(shù)據(jù)了。
3.將VFP的查詢移植到Access查詢視圖
如果想將VFP的查詢在Web上實(shí)現(xiàn),那就要進(jìn)行這一步。這一步其實(shí)很簡單,就是將VFP查詢的SQL語句復(fù)制下來,然后粘貼到Access的查詢對(duì)象上。需要注意的是,要將VFP的SQL語句中的分號(hào)和數(shù)據(jù)庫名在新建的Access查詢的SQL編輯器中刪除。最后別忘了在Access中運(yùn)行一下你的查詢,看看是否和VFP中的一致。不過我還是建議你將VFP查詢改為本地視圖,這樣就省去了日后維護(hù)ASP腳本的SQL了。
4.用Access生成ASP頁面
步驟一:選中一個(gè)鏈接表或Access查詢,右擊鼠標(biāo)從快捷選單中選擇“導(dǎo)出...”項(xiàng)。
步驟二:從“導(dǎo)出”對(duì)話框中的“保存類型”下拉列表中選擇“Microsoft Active Server”項(xiàng)??梢栽诖藶槟愕腁SP頁面起一個(gè)名字(如xf)。單擊“保存”按鈕。
步驟三:在出現(xiàn)的“Microsoft Active Server頁輸出選項(xiàng)”對(duì)話框中選擇HTML模板(也可不選),在“數(shù)據(jù)源名稱”編輯框中填入在第一部分設(shè)定的DSN,如School。單擊“確定”按鈕,完成ASP頁的生成。
5.添加分頁瀏覽代碼
我們生成的ASP頁面是以.asp為擴(kuò)展名,由于ASP是基于服務(wù)器端的腳本,所以必須將其發(fā)布到Web服務(wù)器上,才可以在瀏覽器中看到效果。
1.添加系統(tǒng)DSN
使用ASP技術(shù)的Web頁能否存取某一種數(shù)據(jù)庫,關(guān)鍵在于ODBC驅(qū)動(dòng)程序,只要服務(wù)器安裝了相應(yīng)的ODBC驅(qū)動(dòng),你的主頁就可以很方便地讀取各種數(shù)據(jù)庫,如Access、Excel、Foxpro、Paradox、SQL Server、Oracle等。ODBC的參數(shù)設(shè)置可以在腳本程序中直接指定,也可以把ODBC的參數(shù)設(shè)置在系統(tǒng)的DSN(Date Source Name)中,在腳本程序中以DSN啟動(dòng)數(shù)據(jù)庫。使用DSN通過ODBC訪問數(shù)據(jù)庫的優(yōu)點(diǎn)是,當(dāng)我們改變數(shù)據(jù)庫時(shí),只要重新設(shè)置系統(tǒng)DSN,不需要修改程序中的ODBC參數(shù)(注意:只有系統(tǒng)DSN對(duì)所有用戶都可見,而用戶DSN和文件DSN,分別只對(duì)當(dāng)前用戶和安裝了相同驅(qū)動(dòng)程序的用戶可見,不要設(shè)錯(cuò)了!)。添加系統(tǒng)DSN的步驟如下:
步驟一:經(jīng)由“控制面板”→“ODBC數(shù)據(jù)源(32位)”→“系統(tǒng)DNS”標(biāo)簽,單擊“添加...”按鈕,出現(xiàn)“創(chuàng)建新數(shù)據(jù)源”對(duì)話框。
步驟二:從上述對(duì)話框的列表框選擇“Microsoft FoxPro VFP Driver(.dbf)”項(xiàng)(如果沒有此項(xiàng)可以從Office 2000或Visual FoxPro中安裝,Office 2000默認(rèn)并不安裝VFP的ODBC),單擊“完成”按鈕,出現(xiàn)“ODBC Visual FoxPro Setup”對(duì)話框。
步驟三:在“Date Source Name”編輯框中填入數(shù)據(jù)源的名字,例如:“School”。選擇自己的VFP數(shù)據(jù)庫類型,可以選擇DBC庫或自由表的目錄。通過“Browse...”按鈕選擇數(shù)據(jù)庫或者自由表的目錄。打開“Options...〉〉”,從“Collating sequence”下拉列表中選擇“PinYin”,使你的中文字串按拼音排序。單擊“OK”按鈕,完成添加DSN。
2.在Access 2000上建立鏈接表
添加了VFP的DSN后,就可以在Access 2000內(nèi)直接打開VFP數(shù)據(jù)庫了。
步驟一:啟動(dòng)Access 2000選擇新建“空Access數(shù)據(jù)庫”,隨便起一個(gè)名字,保存在任意位置,因?yàn)锳ccess數(shù)據(jù)庫僅為一個(gè)過渡,用過后就可以刪除掉。
步驟二:在主窗口的快捷選單上選擇“鏈接表...”項(xiàng)(你也可以用“導(dǎo)入...”,但當(dāng)VFP數(shù)據(jù)庫較大時(shí),導(dǎo)入Access的數(shù)據(jù)可是很占地兒的),出現(xiàn)“鏈接”對(duì)話框,從“文件類型”下拉列表中選擇“ODBC Database ()”。屏幕出現(xiàn)“選定數(shù)據(jù)源”對(duì)話框。
步驟三:選擇“機(jī)器數(shù)據(jù)源”標(biāo)簽,從列表中選擇你在前面定義的DSN,如School,單擊“確定”按鈕。
步驟四:從出現(xiàn)的導(dǎo)入對(duì)象對(duì)話框中,選擇你要提供Web頁查詢的VFP數(shù)據(jù)庫中的數(shù)據(jù)表和視圖,單擊“確定”后,隨便指定“惟一的記錄標(biāo)識(shí)符”后“確定”。Access就和VFP數(shù)據(jù)庫鏈接上了。我們現(xiàn)在就可以雙擊鏈接圖標(biāo),瀏覽VFP數(shù)據(jù)了。
3.將VFP的查詢移植到Access查詢視圖
如果想將VFP的查詢在Web上實(shí)現(xiàn),那就要進(jìn)行這一步。這一步其實(shí)很簡單,就是將VFP查詢的SQL語句復(fù)制下來,然后粘貼到Access的查詢對(duì)象上。需要注意的是,要將VFP的SQL語句中的分號(hào)和數(shù)據(jù)庫名在新建的Access查詢的SQL編輯器中刪除。最后別忘了在Access中運(yùn)行一下你的查詢,看看是否和VFP中的一致。不過我還是建議你將VFP查詢改為本地視圖,這樣就省去了日后維護(hù)ASP腳本的SQL了。
4.用Access生成ASP頁面
步驟一:選中一個(gè)鏈接表或Access查詢,右擊鼠標(biāo)從快捷選單中選擇“導(dǎo)出...”項(xiàng)。
步驟二:從“導(dǎo)出”對(duì)話框中的“保存類型”下拉列表中選擇“Microsoft Active Server”項(xiàng)??梢栽诖藶槟愕腁SP頁面起一個(gè)名字(如xf)。單擊“保存”按鈕。
步驟三:在出現(xiàn)的“Microsoft Active Server頁輸出選項(xiàng)”對(duì)話框中選擇HTML模板(也可不選),在“數(shù)據(jù)源名稱”編輯框中填入在第一部分設(shè)定的DSN,如School。單擊“確定”按鈕,完成ASP頁的生成。
5.添加分頁瀏覽代碼
我們生成的ASP頁面是以.asp為擴(kuò)展名,由于ASP是基于服務(wù)器端的腳本,所以必須將其發(fā)布到Web服務(wù)器上,才可以在瀏覽器中看到效果。