日本国产亚洲-日本国产一区-日本国产一区二区三区-日本韩国欧美一区-日本韩国欧美在线-日本韩国欧美在线观看

當前位置:雨林木風下載站 > 技術開發教程 > 詳細頁面

運用POWERBUILDER開發數據庫的WEB查詢

運用POWERBUILDER開發數據庫的WEB查詢

更新時間:2022-05-02 文章作者:未知 信息來源:網絡 閱讀次數:

一、WEB.PB的工作原理

POWERBUILDER對分布式計算的支持使得它能夠通過INTERNET/INTRANET來調用遠程對象服務。通過WEB.PB,可以將POWERBILDER的分布式計算能力擴展到WWW網中。WEB.PB允許服務器動態地將內容轉換成HTML傳送到客戶端的瀏覽器中。當一個HTML文檔調用了一個遠程對象的方法或者函數時,WEB.PB將請求結果傳送給POWERBUILDER的服務應用,由POWERBUILDER的服務應用執行相應的代碼,并將結果返回給瀏覽器。這就是WEB.PB的工作原理,它實際上是通過網關接口(CGI)來調用PB應用服務的。在HTML中有兩個標簽,可以用來調用PB的應用服務:窗體< FORM >和錨點< A >,前者是在窗體命令中激活一個PB應用,后者是通過調用超鏈接來指向PB應用的。

二、系統的運行環境

合肥市電信局網管中心目前運行的電話網網管系統有本地網集中監控和維護系統和長途網管系統,其中本地網網管系統采用安徽省自行開發的一套系統,服務器為ALPHA 4000小型機,操作系統為Digital Unix 64,長途網管采用郵電部電信總局統一開發的ROMA系統,操作系統為SCO UNIX,數據庫均為SYBASE SQL SERVER。我們另外采用了一臺IBM Netfinity 3000作為WEB服務器,采用Microsoft Windows NT 4.0為操作系統, IIS4.0提供WWW服務。在安裝POWERBUILDER 6.0時選擇自定義安裝,然后選擇Internet Tools中的WEB.PB選項即可。

三、配置IIS服務器

Microsoft Internet Information Server(IIS)的主目錄下有一個子目錄\scrips,這是IIS用來存放CGI程序的目錄。如果需要使用標準CGI程序,則將\PB6\IT\BIN\PBCGI60.EXE復制到這個目錄下即可,如果使用ISAPI接口,則需要復制的文件是pbisa60.dll。

但是為了保證服務能正常運行,還必須自行查看IIS服務的目錄映像表,其步驟如下:

1、確定IIS已經安裝且運行正常。

2、運行Internet Service Manager程序。

3、選擇需要安裝配置的Web服務(IIS支持多種服務,并能夠對多臺計算機的服務進行管理)。

4、從菜單條中選擇屬性菜單下的服務屬性菜單項。

5、選擇Directories頁。

6、確定有一個別名為/scripts/的目錄項(別名即虛擬目錄名)。

7、選擇/scripts/,并單擊Properties按鈕。

8、確定Execute是在Access組中唯一被選中的項目(在這個目錄中不允許客戶機執行讀寫操作)。

9、如果對屬性作了修改,選擇OK進行保存。

10、如果沒有/scripts目錄,可以添加一個。

四、編輯hosts 和 services 文件

采用任何一個文本編輯器,編輯這兩個文件。通常hosts文件在c:\winnt\system32\driver\etc目錄下,添加下面一行:

134.65.5.212 HFSA

其中HFSA為主機名,134.65.5.212為IP地址。

在c:\winnt\services文件中添加下面一行

myapp 100015/tcp

這一行的意義在于將所創立的PB服務添加到Windows的服務注冊文件中。使用TCP/IP協議的應用程序都需要使用一個端口,服務應用程序將在這個端口布置一個監聽程序,這個程序能夠捕捉到任何發送到這個端口的請求,并將請求輸送到應用程序中。比如,HTTP協議協議使用端口80,FTP采用TCP的端口21。這里指定myapp 使用TCP的端口100015。獲取一個可用端口的方法是把上一行的端口號加1即可。

五、查詢目標

SQL SERVER名: "HFWG2_SYB"

數據庫名:exsydb

表名和表結構:s12_a010007

字段名 數據類型 長度 字段意義
Ofcname char 10 局名
Date int 4 日期
Time smallint 2 時間
Name char 16 路由名稱
Ncit Int 4 電路數
Ncct float 8 可用電路數
Pegs int 4 呼叫次數
Seiz Int 4 占用次數
Succ int 4 成功次數
Answ Int 4 應答次數
Serl float 8 占用話務量
Rerl float 8 通話話務量
Retries int 4 中繼重選次數
no_answ int 4 久叫不應次數
cong_dist int 4 對端擁塞次數
ls_busy int 4 對端市話忙次數
ts_busy int 4 對端長話忙次數


要求在瀏覽器中輸入日期和時間,對表s12_a010007查詢,并在網頁中反映出結果。

六、創建Powerbuilder應用程序

1、 新建一個應用(myapp)。

2、 新建一個窗口(w_1),定義一個instance 變量(i_server_transport)。

3、 單擊應用畫板中的script按鈕,為myapp應用的open事件編寫代碼如下:

open(w_1)

4、 打開窗口w_1,為它的open事件編寫代碼如下

int li_ListenReturnCode
/*創建傳輸對象,并設置其屬性*/
i_server_transport = CREATE transport
i_server_transport.driver="winsock" //采用TCP/IP協議
i_server_transport.application="myapp" //應用名稱
i_server_transport.location="HFSA" //本地連接
/*監聽客戶,并返回狀態值*/
li_ListenReturnCode= i_server_transport.Listen()
if(li_ListenReturnCode< >0) then
MessageBox("服務器監聽出錯"&
"服務器不能正常進行監聽:~r~n~r~n"+&
"請確保當前TCP/IP服務不能被其它埠占據,以及"+&
"myapp 10015/tcp",stopsign!)
Halt
Endif

5、 為w_1的close事件編寫代碼如下:

i_server_transport.stopListening() //停止在埠的監聽
DESTORY i_server_transport //從內存中清除傳輸對象
close(parent)

6、 創建一個datawindow(d_zy),查詢條件為日期、時間。這是POWERBUILDER的特色之一,這里就不作詳細解釋。

7、 定義一個用戶對象u_web_ct1,并定義一個UserObject Function f_get_2a01(integer date,integer time) return string

其代碼如下:

datastore ds_tf
string ls_html
int li_rowcount
//連接數據庫
sqlca.DBMS="SYC Sybase System 10 CTLIB"
sqlca.Database="exsydb"
sqlca.UserId="sa"
sqlca.Dbpass=""
sqlca.LogPass=""
sqlca.ServerName="HFWG2_SYB"
sqlca.LogId="sa"
sqlca.DbParm=""


connect using sqlca;

if sqlca.sqlcode < > 0 then
Messagebox(" ","connect error")
end if

ds_tf = create datastore

ds_tf.dataobject="d_a01"
ds_tf.SetTransObject(sqlca)
li_rowcount=ds_tf.Retrieve(date,time)

if li_rowcount=0 then
disconnect using sqlca;
return "no record!"
elseif li_rowcount< 0 then
disconnect using sqlca;
Return "retrieve failure!"
end if


ls_html = ds_tf.Object.DataWindow.data.HTMLTable


destroy ds_tf
disconnect using sqlca;

return ls_html


七、 使用

1、在主頁中添加如下代碼:

< form name="form1" method="post"
action="http://134.65.5.212/scripts/
pbcgi60.exe/internet/u_web_ct1/f_get_2a01?" >

< font size="-3" >< b >< p >日期: < input type="text" name=
"date" size="20" > < /b >< /font >< /p >
< p >< b >< font size="-7" >時間: < /font >< font size="-3" >
< input type="text" name="time" size="20" > < /font >< /b >< /p >
< p >< input type="submit" name="Submit" value="Submit" > < /p >
< /form >

2、運行myapp應用,啟動瀏覽器,輸入日期和時間,結果如下:



八、小結

由于POWERBUILDER是專業級的數據庫開發工具,可以不受數據庫的種類和平臺的限制,采用它的WEB.PB技術來進行Internet/Intranet開發,能夠將開發者的精力都集中到業務邏輯的實現上,而不是花費大量的時間去考慮和數據庫連接的問題。這種基于瀏覽器/服務器結構的應用優勢在于系統的維護簡單,幾乎所有的工作都集中在WEB服務器上,大大減少了對多個客戶端的維護工作。另外,由于能夠將運算任務合理地分布在瀏覽器和服務器之間,整個系統運行的費用也將大大降低。

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

主站蜘蛛池模板: 精品久久久久久中文字幕 | 91高清视频在线观看 | 51视频在线观看免费国产 | 国产精品午夜在线观看 | 日韩 国产 欧美视频一区二区三区 | 8x8永久华人免费观看网址 | 国产成人在线视频 | 99re8免费视频精品全部 | 国产一区二区三区四区在线观看 | 久久大香伊蕉在人线观看热2 | 日韩亚洲人成在线 | 日韩一级片免费 | 欧美一区二区三区免费 | 久久天天 | 成人在线综合 | 国产精品大尺度尺度视频 | 日本大黄毛片视频 | 天天爽夜夜爽人人爽 | 亚洲精品视频在线免费 | 国产成人综合网亚洲欧美在线 | 国产91无毒不卡在线观看 | 国产日本在线观看 | 国产免费资源高清小视频在线观看 | 日韩午夜高清福利片在线观看 | 国产网站免费视频 | 午夜国产高清精品一区免费 | 久久精品免费一区二区视 | 99福利网| 福利网址在线 | 天天干人人 | 四虎国产精品视频免费看 | 1024国产欧美日韩精品 | 性满足久久久久久久久 | 欧美监狱性暴一级毛片 | 91精品国产色综合久久不卡蜜 | 日韩久久久精品首页 | 手机看片日韩高清国产欧美 | 久久社区视频 | 久久久精品波多野结衣 | 操你妹影院 | 麻豆精品在线视频 |