精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>编程开发>>● Powerbuilder>>PB开发Internet应用>>在ASP或MTS中使用Web DataWindow

主题:在ASP或MTS中使用Web DataWindow
发信人: luhan()
整理人: leitiger(2002-06-05 23:51:50), 站内信件
本来这篇文章是代图片的,在这里只好先把图片省略了。在ASP或MTS中使用Web 
DataWindow

摘要:
该文将讲述如何在ASP或MTS环境中使用Web DataWindow(以下简称WebDW),通过
这篇文章,你可以在Web页面中使用WebDW处理数据。
所需环境:
PowerBuilder, PowerSite 7.0
Windows 95, Windows NT, Windows 98
来源:
Sybase公司技术文档,鹿寒翻译

以下将分四个部分介绍:
一、 一般性配置
二、 在ASP中运行WebDW
三、 MTS配置
四、 在MTS中运行WebDW

首先确定IIS配置正常,要想使用MTS,也应确定MTS是否安装、配置好。
一般性配置
    这部分是介绍WebDW组件的一般性配置,无论是在ASP,还是在MTS中使用Web
DW,都必须按照以下步骤去做:
将所需的文件拷贝到服务器上
你需要将开发环境中的一些文件拷贝到安装了ASP或MTS的Web服务器上。另外,还
需要拷贝一个PBL和Sybase Adaptive Server Anywhere (以下简称ASA)的数据库
用来测试。所有这些文件都可以通过PowerBuilder 7.0 和EAStudio 3.0安装程序
得到,具体的清单如下:
必须的文件 开发环境中的存放路径 拷贝到服务器上的路径
pbvm70.dll
libjcc.dll
pbdwe70.dll
pbodb70.dll
pbodb70.ini
pbdwr70.dll Program Files/Sybase/shared/PowerBuilder Any directory on 
the system path

例子文件 开发环境中的存放路径 拷贝到服务器上的路径
ssv_dw_reserve.pbl Program Files/Sybase/shared/PowerBuilder Any direct
ory on the system path
Easdemodb.db Program Files/Sybase/shared/PowerBuilder 任意目录

注册Web DataWindow组件
在Windows“开始”菜单中选择“运行”,依图键入命令,然后“确定”
如果注册成功,按“OK”;否则,请确保已经将pbdwr70.dll拷贝到系统的syste
m目录下。

配置例子数据库
下面介绍如何安装ASA数据库驱动程序,并且为演示数据库创建系统DSN。当然We
bDW也可以使用其他类型的数据库。
1、 安装ODBC驱动程序
运行EAStudio 3.0 or 3.0.01的安装程序可以安装Sybase ASA的ODBC驱动程序,
如图,在选择安装组件时只选择Adaptive Server Anywhere。
在选择ASA的具体组件时,只选择Adaptive Server Anywhere,然后按“Change”

在选择子组件窗口中,只选择“Common Files”和“Personal Server”,然后“
Continue”
然后,安装程序就会自动安装驱动程序和personal server。
2、 为数据库定义系统DSN
运行控制面板中的ODBC管理器,选择系统DSN,定义一个新的数据源。
在创建新数据源窗口中选择Adaptive Server Anywhere 6.0驱动程序,然后“Fi
nish”。
指定EAS Demo DB V3为数据源的名称

指定dba为User ID,sql 为 Password
在Start line中指定dbeng6.exe,easdemodb作为数据库名称,然后通过Browse选
择EASDemoDB.db文件。
测试一下配置是否正确。
如果正确,则OK,关闭配置窗口。此时,名为EAS Demo DB V3的数据源将出现在
系统DSN列表中。
3、 启动数据库
在Windows“开始”菜单中选择“运行”,按下面命令行的格式运行命令:
"C:\Program Files\Sybase\Adaptive Server Anywhere 6.0\win32\dbeng6.exe
"  -d "C:\Program Files\sybase\shared\PowerBuilder\easDemoDB"
运行后的引擎将以图标的方式显示在Windows任务栏中。
在图标上点右键,选择弹出菜单的Restore项,将会显示Adaptive Server Anywh
ere log窗口。
最后一行信息表示引擎已经准备接受请求了。
创建ASP文件
下面将讲述如何创建ASP文件并将其放在具有一定访问权限虚拟目录下。
1、 创建ASP文件
   利用文本编辑器,按下面内容创建:
<%@ LANGUAGE=JavaScript %>
<HTML>
<HEAD><TITLE>Sybase Web DataWindow</TITLE></HEAD>
<BODY>
Sample ASP script to invoke the Web DataWindow with support for data n
avigation and database updates 
<%
var retVal
/* Create instance of the COM object */
dwMine = Server.CreateObject("PowerBuilder.HTMLDataWindow");
/* set datawindow object */
retVal = dwMine.SetDWObject ("ssv_dw_reserve.pbl", "d_dept_listing")

if (retVal == 1) {
/* set control name, browser */
retVal = dwMine.SetHTMLObjectName("dwMine");
var browser = Request.ServerVariables("HTTP_USER_AGENT");
dwMine.SetBrowser(browser);

/* allow page navigation, and support for methods that cause page
reloads */
var selfLink = Request.ServerVariables("SCRIPT_NAME");
var selfLinkArgs = "name='\"" + dwMine.name + "\"'";
retVal = dwMine.SetSelfLink (selfLink, selfLinkArgs);

/* display 5 rows of data per page */
dwMine.SetPageSize(5);

/* set transaction properties */
connStr = "ConnectString='DSN=EAS Demo DB V3;UID=dba;PWD=sql',Conn
ectOption='SQL_DRIVER_CONNECT,SQL_DRIVER_NOPROMPT'"
& nbsp; dwMine.setTrans("ODBC", connStr, "", "", "", "", "")

/* retrieve the data */
retVal = dwMine.retrieve()
if (retVal < 0 ) {
Response.Write("<H1>Retrieve Error: " + retVal + dwMine.GetLast
ErrorString()+ "</H1>")
    } 

    /* Check if page parameters (passed from client) indicate that an 
action needs to be performed */
    var dwMine_action = Request.Form("dwMine_action");
    var dwMine_context = Request.Form("dwMine_context");
    if (dwMine_action + "" != "undefined") {
      /* perform the action on the server data */
      retVal = dwMine.SetAction (dwMine_action, dwMine_context);
      if (retVal < 0 ) {
Response.Write ("<H1>Error on SetAction(): " + retVal + dwMine.GetLas
tErrorString() + "</H1>")
      }
    } 

    /* generate the HTML DataWindow with data */
    Response.Write( dwMine.Generate() );
 }
 else {
   Response.Write ("<H1>Error on SetDWObject() = " + retVal + dwMine.G
etLastErrorString() + "</H1>")
 }
%> 

</BODY>
</HTML> 

在Web服务器的根目录下(缺省为InetPub/WWWRoot)建立testing目录,将文件存
入其中,名为WebDW_test.asp。
2、 配置IIS虚拟目录
运行Internet Service Manager
展开Default Web Site目录树,点中testing目录按鼠标右键,选择弹出菜单的P
roperties
确定Execute (including script)选项被选中,按“OK”。
在ASP中运行WebDW
打开浏览器指向http://localhost/testing/WebDW_test.asp。
WebDW显示出来,并有按钮对数据进行操作。注意Dept Manager列还可以通过下拉
选项选择数据。
MTS配置
下面的操作将在MTS中注册WebDW的服务器组件。
运行Internet Service Manager,展开Microsoft Transaction Server项,选择
Packages Installed,按鼠标右键选择弹出菜单的New – Package。
在Package Wizard窗口中,选择Create an empty package。
在Create Empty Package 窗口中,你可以为package其任何名称,在这个例子里
,我们用WebDW作为它的名称,按“Next”。
在Set Package Identity窗口中接受默认值,按“Next”继续。
展开WebDW项,选中Components按鼠标右键,在弹出菜单中选择New – Componen
t。
在Component Wizard窗口,选择Import component(s) that are already regis
tered。
选择PowerBuilder.HTMLDataWIndow.1.0,然后“Finish”。
PowerBuilder.HTMLDataWindow.1.0将显示在WebDW项目中

在MTS中运行WebDW
从View菜单中选择Status View从而显示组件的状态信息。
打开浏览器,指向http://localhost/tetsing/WebDW_test.asp,并设置浏览器的
位置使你正好可以看到组件的状态信息。
在WebDW中按“Next”,你可以看到状态信息发生了变化。







--
※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.100.27.81]

[关闭][返回]