• <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        當(dāng)前位置:雨林木風(fēng)下載站 > 技術(shù)開發(fā)教程 > 詳細頁面

        運用POWERBUILDER開發(fā)數(shù)據(jù)庫的WEB查詢

        運用POWERBUILDER開發(fā)數(shù)據(jù)庫的WEB查詢

        更新時間:2022-05-02 文章作者:未知 信息來源:網(wǎng)絡(luò) 閱讀次數(shù):

        一、WEB.PB的工作原理

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

        二、系統(tǒng)的運行環(huán)境

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

        三、配置IIS服務(wù)器

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

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

        1、確定IIS已經(jīng)安裝且運行正常。

        2、運行Internet Service Manager程序。

        3、選擇需要安裝配置的Web服務(wù)(IIS支持多種服務(wù),并能夠?qū)Χ嗯_計算機的服務(wù)進行管理)。

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

        5、選擇Directories頁。

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

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

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

        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

        這一行的意義在于將所創(chuàng)立的PB服務(wù)添加到Windows的服務(wù)注冊文件中。使用TCP/IP協(xié)議的應(yīng)用程序都需要使用一個端口,服務(wù)應(yīng)用程序?qū)⒃谶@個端口布置一個監(jiān)聽程序,這個程序能夠捕捉到任何發(fā)送到這個端口的請求,并將請求輸送到應(yīng)用程序中。比如,HTTP協(xié)議協(xié)議使用端口80,F(xiàn)TP采用TCP的端口21。這里指定myapp 使用TCP的端口100015。獲取一個可用端口的方法是把上一行的端口號加1即可。

        五、查詢目標(biāo)

        SQL SERVER名: "HFWG2_SYB"

        數(shù)據(jù)庫名:exsydb

        表名和表結(jié)構(gòu):s12_a010007

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


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

        六、創(chuàng)建Powerbuilder應(yīng)用程序

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

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

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

        open(w_1)

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

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

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

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

        6、 創(chuàng)建一個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
        //連接數(shù)據(jù)庫
        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應(yīng)用,啟動瀏覽器,輸入日期和時間,結(jié)果如下:



        八、小結(jié)

        由于POWERBUILDER是專業(yè)級的數(shù)據(jù)庫開發(fā)工具,可以不受數(shù)據(jù)庫的種類和平臺的限制,采用它的WEB.PB技術(shù)來進行Internet/Intranet開發(fā),能夠?qū)㈤_發(fā)者的精力都集中到業(yè)務(wù)邏輯的實現(xiàn)上,而不是花費大量的時間去考慮和數(shù)據(jù)庫連接的問題。這種基于瀏覽器/服務(wù)器結(jié)構(gòu)的應(yīng)用優(yōu)勢在于系統(tǒng)的維護簡單,幾乎所有的工作都集中在WEB服務(wù)器上,大大減少了對多個客戶端的維護工作。另外,由于能夠?qū)⑦\算任務(wù)合理地分布在瀏覽器和服務(wù)器之間,整個系統(tǒng)運行的費用也將大大降低。

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

        本類教程下載

        系統(tǒng)下載排行

        主站蜘蛛池模板: 国产偷窥女洗浴在线观看亚洲| 天天拍拍天天爽免费视频| 精品国产日韩亚洲一区| 色老头综合免费视频| 免费看国产曰批40分钟| 无码天堂亚洲国产AV| 四虎免费永久在线播放| 日韩免费高清一级毛片| 亚洲毛片网址在线观看中文字幕| 一级做a爰黑人又硬又粗免费看51社区国产精品视 | 日本黄页网址在线看免费不卡| 日韩亚洲国产综合久久久| 天天综合亚洲色在线精品| 国产免费牲交视频| 免费VA在线观看无码| 综合久久久久久中文字幕亚洲国产国产综合一区首 | 免费大学生国产在线观看p| 日韩在线观看视频免费| 亚洲精品国产精品乱码不99| 无码国产精品一区二区免费式芒果| 亚洲视频在线免费播放| 24小时日本在线www免费的| 国产精品亚洲精品日韩动图| 亚洲精品A在线观看| 小日子的在线观看免费| 亚洲综合久久一本伊伊区| 国产在线不卡免费播放| a级午夜毛片免费一区二区| 亚洲高清不卡视频| 免费的涩涩视频在线播放| 一区二区三区视频免费观看| 久久精品国产亚洲香蕉| 成人免费看黄20分钟| 在线观看国产情趣免费视频| 亚洲色四在线视频观看| 在线看片免费人成视频久网下载| 亚洲国产综合人成综合网站| 中文日韩亚洲欧美制服| 国产啪精品视频网站免费尤物| 亚洲精品成人无码中文毛片不卡| 久久精品视频免费|