发信人: 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]
|
|