PPB调用PB11的WEBSERVICE.doc

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PPB调用PB11的WEBSERVICE

PPB学习44-PPB调用PB11的WEBSERVICE?? 首先先感谢Q群的深圳-谬谬,把这个问题解决了,我在此基础上做一个例程。 PB11可以向.NET上直接发布WEBSERVICE服务,下面我们就举个例子来看下如何实现这个过程。 以下是例程的工作环境:.net2005,PB11.2,PPB2.5,ASA9,IIS 数据库采用ASA9自带的SAMPLE数据库,准备工作,为SAMPLE数据库创建一个系统的DSN。如下图所示,命名为ASADEMO9。 这个DSN设成服务方式启动,如下图 IIS请检查WWW服务是否已经开启,默认网站是否已经启动,如果没有启动可以更改一下WWW端口试下,可能你的80端口被其他程序占用。如下图所示。 这一切准备好了,下面我们就开始先用PB11发布一个WEBSERVICE,在这个实例中,我要完成的是将一个SELECT的SQL语句做为参数,将这个SELECT语句的结果返回去。 打开PB11,NEW一个TARGET,在下面的对话框中选择.net web service,创建一个发布到.NET上的WEB SERVICE应用 下面是一个向导过程,第一页,NEXT,没啥要设置的。 第二页设置是新做一个还是使用一个已有库列表,这里我们选择新做一个。第一个选项,按NEXT 设置PROJECT的名字及PBL和PBT的文件路径,我命名为P_mywebservice,文件路径我就放在下面的目录,大家根据自己的需要放置。按NEXT 这一页是否要增加其他PBL,这里我们没有其他PBL加入,直接按NEXT 创建一个用户对象,取名n_mywebservice,如下图所示,按NEXT 这页是设置发布到.net上的目录,可以用默认值,如下图,按NEXT 添加其他资源文件和目录,这里我们就不填了,按NEXT 添加需要的动态库,在我们这个例子里也没有要添加的,按NEXT 设置输出,一个是生成SETUP文件,用于安装,另一个是直接发布到IIS上,我们选发布到IIS上,并且设定IIS的地址,包括端口号。由于我的WEB使用8080端口,所以我要加上:8080,按NEXT 确认所有属性值无误就可以完成向导的工作。按FINISH结束 在WORKSPACE里出现新的节点MYWEBSERVICE,下面已经创建了一个应用,一个PROJECT和一个用户对象。如下图所示。 下面我们打开n_mywebservice对象,对它进行编辑。创建两个函数, 一个函数名为CONNECTDB(连接数据库),输入参数为 transaction 类型atr_1,pass by为reference。输出为STRING 脚本:atr_1.DBMS = ODBC atr_1.AutoCommit = False atr_1.DBParm = ConnectString=DSN=asademo9;UID=DBA;PWD=SQL connect using atr_1; if atr_1.sqlcode 0 then ?return? atr_1.sqlerrtext else ?return 1 end if 再创建一个函数,getdata_for_sql(由SQL语句返回数据),输入参数为string类型 as_sql,输出为string 脚本: string ls_ret,ls_data,error_sql long ll_row datastore lds_1 lds_1 = create datastore transaction ltr_1 ltr_1 = create transaction ls_ret =? connectdb(ltr_1) if ls_ret = 1 then ?ltr_1.autocommit=true ?lds_1.create(syntaxfromsql(ltr_1,as_sql,style(type=grid),column(font.facename=arial,font.size=60)),error_sql)) ?ltr_1.autocommit=false ?lds_1.settransobject(ltr_1) ?ll_row = lds_1.retrieve() ?if ll_row 0 then ??ls_data = lds_1.describe(datawindow.data) ??ls_ret = ls_data ?else ??ls_ret = error: no row return ?end if else ?ls_ret =? error: +ls_ret end if disconnect using ltr_1; destroy ltr_1 destroy lds_1 return ls_ret 完成后保

文档评论(0)

jiupshaieuk12 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:6212135231000003

1亿VIP精品文档

相关文档