您现在的位置是:首页 >

数据库怎么进行数据分析 利用POWERBUILDER开发数据库的WEB查询

火烧 2022-04-24 13:53:47 1065
利用POWERBUILDER开发数据库的WEB查询   一 WEB PB的工作原理  POWERBUILDER对分布式计算的支持使得它能够通过INTERNET/INTRANET来调用远程对象服务 通过

利用POWERBUILDER开发数据库的WEB查询  

  一 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 小型机 操作系统为Digital Unix 长途网管采用邮电部电信总局统一开发的ROMA系统 操作系统为SCO UNIX 数据库均为SYBASE SQL SERVER 我们另外采用了一台IBM Netfinity 作为WEB服务器 采用Microsoft Windows NT 为操作系统 IIS 提供WWW服务 在安装POWERBUILDER 时选择自定义安装 然后选择Internet Tools中的WEB PB选项即可

  三 配置IIS服务器

  Microsoft Internet Information Server(IIS)的主目录下有一个子目录scrips 这是IIS用来存放CGI程序的目录 如果需要使用标准CGI程序 则将PB ITBINPBCGI EXE复制到这个目录下即可 如果使用ISAPI接口 则需要复制的文件是pbisa dll

  但是为了保证服务能正常运行 还必须自行查看IIS服务的目录映像表 其步骤如下

   确定IIS已经安装且运行正常

   运行Internet Service Manager程序

   选择需要安装配置的Web服务(IIS支持多种服务 并能够对多台计算机的服务进行管理)

   从菜单条中选择属性菜单下的服务属性菜单项

   选择Directories页

   确定有一个别名为/scripts/的目录项(别名即虚拟目录名)

   选择/scripts/ 并单击Properties按钮

   确定Execute是在Access组中唯一被选中的项目(在这个目录中不允许客户机执行读写操作)

   如果对属性作了修改 选择OK进行保存

   如果没有/scripts目录 可以添加一个

  四 编辑hosts 和 services 文件

  采用任何一个文本编辑器 编辑这两个文件 通常hosts文件在c:winntsystem driveretc目录下 添加下面一行:

   HFSA

  其中HFSA为主机名 为IP地址

  在c:winntservices文件中添加下面一行

  myapp /tcp

  这一行的意义在于将所创立的PB服务添加到Windows的服务注册文件中 使用TCP/IP协议的应用程序都需要使用一个端口 服务应用程序将在这个端口布置一个监听程序 这个程序能够捕捉到任何发送到这个端口的请求 并将请求输送到应用程序中 比如 HTTP协议协议使用端口 FTP采用TCP的端口 这里指定myapp 使用TCP的端口 获取一个可用端口的方法是把上一行的端口号加 即可

  五 查询目标

  SQL SERVER名: HFWG _SYB

  数据库名 exsydb

  表名和表结构 s _a

  字段名数据类型长度字段意义

  Ofcnamechar 局名

  Dateint 日期

  Timesmallint 时间

  Namechar 路由名称

  NcitInt 电路数

  Ncctfloat 可用电路数

  Pegsint 呼叫次数

  SeizInt 占用次数

  Succint 成功次数

  AnswInt 应答次数

  Serlfloat 占用话务量

  Rerlfloat 通话话务量

  Retriesint 中继重选次数

  no_answint 久叫不应次数

  cong_dist int 对端拥塞次数

  ls_busyint 对端市话忙次数

  ts_busyint 对端长话忙次数

  要求在浏览器中输入日期和时间 对表s _a 查询 并在网页中反映出结果

  六 创建Powerbuilder应用程序

   新建一个应用(myapp)

   新建一个窗口(w_ ) 定义一个instance 变量(i_server_transport)

   单击应用画板中的script按钮 为myapp应用的open事件编写代码如下

  open(w_ )

   打开窗口w_ 为它的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< > ) then

  MessageBox( 服务器监听出错 &

   服务器不能正常进行监听 ~r~n~r~n +&

   请确保当前TCP/IP服务不能被其它埠占据 以及 +&

   myapp /tcp stopsign!)

  Halt

  Endif

   为w_ 的close事件编写代码如下:

  i_server_transport stopListening() //停止在埠的监听

  DESTORY i_server_transport //从内存中清除传输对象

  close(parent)

   创建一个datawindow(d_zy) 查询条件为日期 时间 这是POWERBUILDER的特色之一 这里就不作详细解释

   定义一个用户对象u_web_ct 并定义一个UserObject Function f_get_ a (integer date integer time) return string

  其代码如下

数据库怎么进行数据分析 利用POWERBUILDER开发数据库的WEB查询

  datastore ds_tf

  string ls_

  int li_rowcount

  //连接数据库

  sqlca DBMS= SYC Sybase System CTLIB

  sqlca Database= exsydb

  sqlca UserId= sa

  sqlca Dbpass=

  sqlca LogPass=

  sqlca ServerName= HFWG _SYB

  sqlca LogId= sa

  sqlca DbParm=

  connect using sqlca;

  if sqlca sqlcode < > then

  Messagebox( connect error )

  end if

  ds_tf = create datastore

  ds_tf dataobject= d_a

  ds_tf SetTransObject(sqlca)

  li_rowcount=ds_tf Retrieve(date time)

  if li_rowcount= then

  disconnect using sqlca;

  return no record!

  elseif li_rowcount< then

  disconnect using sqlca;

  Return retrieve failure!

  end if

  ls_ = ds_tf Object DataWindow data HTMLTable

  destroy ds_tf

  disconnect using sqlca;

  return ls_

  七 使用

   在主页中添加如下代码

  < form name= form method= post

  action= // /scripts/

  pbcgi exe/internet/u_web_ct /f_get_ a ? >

  < font size= >< b >< p >日期 < input type= text name=

   date size= > < /b >< /font >< /p >

  < p >< b >< font size= >时间: < /font >< font size= >

  < input type= text name= time size= > < /font >< /b >< /p >

  < p >< input type= submit name= Submit value= Submit > < /p >

  < /form >

   运行myapp应用 启动浏览器 输入日期和时间 结果如下:

  八 小结

lishixinzhi/Article/program/SQL/201311/16361  
永远跟党走
  • 如果你觉得本站很棒,可以通过扫码支付打赏哦!

    • 微信收款码
    • 支付宝收款码