pb 接口开发

Pb协议的接口测试 Protocol Buffers 是谷歌开源的序列化与反序列化框架。它与语言无关、平台无关、具有可扩展的机制。用于序列化结构化数据,此工具对标 XML ,支持自动编码,解码。比 XML 性能好,且数据易于解析。更多有关工具的介绍可参考官网。 Protocol Buffers官网:https://developers.google.com/protocol-buffers Protocol Buffers 为跨平台设计,以 Python 为例,使用者配置 .proto 文件,利用 Protocol Buffe 阅读详情

工作需要用WebService方式做接口,折腾了半月,走了无数弯路,才初见眉目。为了避免坚守PB开发的老中青同学们以后遇到同样的问题,在此做个简要总结。
  ——by nocry115/泥草鞋

前言:
  无论哪种接口,无非2类:①开发入口,接收对方输出接口数据;②开发出口,以对方要求接口格式输出数据。对于WebService接口来说,第1种是需要我们来开发WebService服务及方法给对方调用,开发部署工作肯定多些;第2种则是调用对方的WebService服务,这方面已有很多前行的PBer为我们指路。
  调用Webservice,PB9开始就在新建Project里多了Web Service Proxy (Wizard);但需要注意的是,由于PB对windows系统的依赖,即使PB12.6对Webservice的支持也不完善。而要开发Webservice的应用服务端,至少需要PB10,在此选用了PB11.5。
  另,开发Webservice服务,windows操作系统不要用XP,开发环境缺陷会造成各种问题,曾到处发帖求助,最后发现完全是系统环境造成的,必须选用适合Webservice服务的操作系统,否则无解。

PB11.5+oracle10G(32位)+Webservice+WIN7(64位)
这里写图片描述
在这里插入图片描述

1.Oracle数据库:
  PB的亮点之一在于数据库开发。Oracle数据库9i及以下在win7以上安装不了,oracle10G不能安装64位的,否则将开发的WebService服务会出现“oracle 库 oci.dll 无法加载错误”!
  oracle10G(32位)在win7系统安装注意事项:
  a)修改database\stage\prereq\db\refhost.xml,添加:

<OPERATING_SYSTEM>

</OPERATING_SYSTEM>
1
2
3
  b)修改database\install\oraparam.ini文件,添加:

[Certified Versions]
#You can customise error message shown for failure, provide value for CERTIFIED_VERSION_FAILURE_MESSAGE
#Windows=5.0,5.1,5.2,6.0,6.1 #只添加6.1(win7以上的版本号)

[Windows-6.1-required]
#Minimum display colours for OUI to run
MIN_DISPLAY_COLORS=256
#Minimum CPU speed required for OUI
#CPU=300
[Windows-6.1-optional]

c)安装完后进入控制台 http://localhost:1158/em/ 如果报错,修改时区:
搜索安装后的文件:emd.properties修改:

agentTZRegion=Asia/Chungking
1
在系统运行cmd中输入以下命令:(假设orcl为SID)

set ORACLE_SID=orcl
emctl stop dbconsole
emctl start dbconsole
1
2
3
2.WIN7(64位)环境:
  a)在【控制面板】-【程序】-【打开或关闭Windows功能】中:
勾选【MIcrosoft.Net Framework 3.5.1】
勾选【internet服务】-【万维网服务】-【应用程序开发功能】中的【ASP.NET】和【ISAPI扩展】
这里写图片描述在这里插入图片描述

b)桌面【计算机】-右键【管理】,在【服务和应用程序】的【IIS管理器】中,将默认网站指向你的网站目录或沿用从前的

3.PB11.5开发Webservice应用:
  a)建立一个p_yourwebservice服务时,将自动生成一个同名的n_yourwebservice不可视对象,在n_yourwebservice编写函数(如:of_insert_test()、of_insert_test2())。
  b)设置好p_yourwebservice的参数(如图):
在【General】中可选Build type为Release
这里写图片描述在这里插入图片描述

在【Deploy】中默认发布到本机IIS万维网服务
这里写图片描述在这里插入图片描述

在【Objects】中勾选上你的函数;保存后点击菜单编译Deploy Project。
这里写图片描述在这里插入图片描述

注:Web Service WSDL栏中的链接,即为你提供给对方的WSDL。
  c)在p_yourwebservice【object】中点击【Run Web Service】,看看运行结果:
这里写图片描述在这里插入图片描述

可在网页上点击你定义的函数,输入相应参数提交,测试结果。

d)实测通过Web Service对oracle数据库操作不稳定,有时成功有时失败,解决方法:
在n_yourwebservice的创建事件中:

//定义好数据库各属性,如
SQLCA.DBMS = “O90 Oracle9i (9.0.1)”
//……并加上:
connect using SQLCA;
disconnect using SQLCA;
//在你的每个n_yourwebservice数据库函数里,开头进行:

connect using SQLCA;

//函数结束前

disconnect using SQLCA;

PB11.5+oracle10G(32位)+Webservice+WIN2008Server R2(64位)
1.Oracle数据库:
如上,请安装oracle10G(32位),否则:
【Oracle library OCI.DLL could not be loaded】 的错误会等着你

2.WIN2008Server R2(64位)环境:
  a)在【计算机】右键【管理】-【角色】中添加:【Web服务器(IIS)】,其中【应用程序开发】项勾选【ASP.NET】和【ISAPI扩展】
  b)在【计算机】右键【管理】-【角色】中添加:【应用程序服务器】,勾选【.Net Framework 3.5.1】
  c)在【服务器管理器】-【角色】-【Web服务器(IIS)】-【Internet 信息服务】中:
这里写图片描述在这里插入图片描述

展开应用服务器下的【网站】,停止默认的网站,创建新网站,指向你的Webservice目录。为避免新网站的端口冲突,可重新【绑定】一个端口,如:9090。

3.PB11.5开发环境下Webservice应用移植到应用服务器:
  a)开发环境下,再编译p_yourwebservice,在【Deploy】项不要选编译到IIS,要选择“生成安装文件”(.msi)
  b)编译后的
.msi文件,copy到应用服务器运行一下。
  可查看下【服务器管理器】-【角色】-【Web服务器(IIS)】-【Internet 信息服务】中的【网站】,如果你的网站其下项显示的是网站目录(虚拟目录,还有一个同级目录是YourWebservice_root),请右键转换为【应用程序】。
(应用程序池此时自动为PBAppPool,经典的.Net Framework v2.0.50727类型 )
  在应用服务器IE上浏览下效果,注意加端口:
http://服务器IP:9090/yourwebservice/n_yourwebservice.asmx

c)远端客户IE上浏览下效果:
  http://服务器IP:9090/yourwebservice/n_yourwebservice.asmx
  如出现权限不足错误提示:
  运行时错误
  请在应用服务器上你的Webservice应用目录中,找到Web.Config,在<system.web></system.web>之间加入:

d)在开发环境下n_yourwebservice中编写了2个功能相同的函数,1个完全用SQL语句,1个用datastore进行update,奇怪的问题出现:用SQL语句的函数结果正常,用datastore的函数对string类型的字段更新失败,数值、时间类型的没有问题!
  解决方法:将数据库连接的语法选项中去掉引号项
这里写图片描述  
重新生成datastore对应的数据窗口,重新编译,发布到服务器即可。
转自:https://blog.youkuaiyun.com/nocry115/article/details/52503864

【原创】PB开发Web Service接口环境搭建及问题解决 工作需要用WebService方式做接口,折腾了半月,走了无数弯路,才初见眉目。为了避免坚守PB开发的老中青同学们以后遇到同样的问题,在此做个简要总结。   ——by nocry115/泥草鞋前言:   无论哪种接口,无非2类:①开发入口,接收对方输出接口数据;②开发出口,以对方要求接口格式输出数据。对于WebService接口来说,第1种是需要我们来开发WebService服务及方法给对方调用 阅读详情

相关推荐

PB直连数据库接口开发实战:从DLL构建到自定义命名规则解析

本文详细介绍了PB直连数据库接口开发的实战技巧,从DLL构建到自定义命名规则解析。通过具体案例和代码示例,帮助开发者掌握高效连接数据库的方法,提升性能并解决版本兼容性问题,特别适合需要开发自定义数据接口的技术人员。

weixin_28693447的博客 313

PB从入坑到放弃(一)第一个HelloWorld程序

不少小伙伴可能都是由于来关注公众号的,网上关于的资料确实是少之又少。来了的小伙伴可能发现了,博主怎么一篇相关的文章都没有,转头就走了公众号有的也只是之前自学时在某宝淘的一些资料,确实有了这些资料,应付日常开发需求也是够了的。为了方便,后面我们都用pb来代替说到这不得不来说说自己的pb入坑经历, 自己也不是计算机科班出生。刚到公司面试,听到pb也是一脸懵逼,这啥东西,从来没听过。然而,不知不觉已经干了好几年😔也是有了这些踩坑的经历,才打算写《pb从入坑到放弃》系列文章。这篇呢也是这系列的第一篇。

再小的帆也能远航,把分享变成一种习惯 3828

PB9.0/12.5自定义数据库接口DLL开发实战:从命名规则到函数实现详解

本文详细解析了PowerBuilder 9.0/12.5自定义数据库接口DLL的开发全流程。从理解PB底层通信机制、环境配置,到核心的DLL命名规则与PB_DB_Rout函数实现,手把手指导开发者构建连接特殊数据源的桥梁。重点阐述了如何通过自定义数据接口实现PB与非标准数据库的对接,为高级系统集成提供实战解决方案。

mmm90的博客 252

PB从入坑到放弃(七)PBer们的福音来了

也许现在的你需要用PB完成毕业设计、需要维护远古时代的代码,又或者是你呆的公司就是要求要用PB开发项目。不管你是出于什么原因还在使用PB,不可否认PB在数据窗口非常优秀,熟练使用之后开发数据库相关的应用非常高效但由于PB这一框架出现得比较早,而且主要用于传统基于数据库得CS开发。在网络、系统、数据传输等方面有很多欠缺,需要实现某些功能特别费劲,需要引入各种动态库才能实现。而今天推荐的这款动态库将解放你的双手

再小的帆也能远航,把分享变成一种习惯 3387

PB数据库开发技术(一)-PowerBuilder集成环境

画板也是有多个子窗口组成,如WINDOWS画板有Layout外观子窗口, Properties属性子窗口, Script脚本子窗口, Declare申明变量子窗口, 这些子窗口可以在菜单View中选取打开。应用类是一个应用的入口,应用类无外观,只有属性和脚本窗口,可在Open事件中编制应用开始的脚本。(2)新建一个应用,打开Target/Application,输入应用的名称Test,选择类库文件保存的路径,Test.pbl就是该应用的类库文件,以后设计类就存放在此文件,注意保存路径。

悠闲饭团的博客 962

PB数据库开发技术(六)-PowerBuilder菜单设计

选中添加的数据窗口,可以在右边的属性栏里看到其属性。选中此表后,右边的框中会出现表中的所有属性,点击“add all”,也就是选中了所有属性,点击OK,还会弹出一个对话框,此中无须修改,点击next即可,点击后弹出最后一个对话框,无须修改,点击finish即完成了数据对象的创建工作。点击“file”---“new”弹出new对话框,选择“workplace”标签,选择“workplace”图标,点击OK,然后会出现“new workplace”保存对话框,选择保存路径,填写文件名保存即可。

悠闲饭团的博客 1249

PB11.2编写POST接口样例资源文件:快速掌握POST接口开发技巧

PB11.2编写POST接口样例资源文件:快速掌握POST接口开发技巧 去发现同类优质开源项目:https://gitcode.com/ 项目介绍 在现代软件开发中,网络通信接口(API)的构建是核心环节之一。PB11.2编写POST接口样例资源文件,为您提供了一套全面的教程和样例,帮助开发者快速熟悉PB11.2环境下POST接口的编写方法。通过这一资源,您将能够高效地创建符合需求的数据交互接口。...

gitblog_06782的博客 716

pb11.5 Build 2506破解包

已经过测试,绝对好用。如果想要其它版本的也可以留言。

PB自定义数据库直连接口开发实战与命名规范解析

本文详细解析了PB自定义数据库直连接口开发实战与命名规范,重点介绍了接口DLL开发的核心函数实现、连接参数配置及命名规则。通过实际案例分享,帮助开发者快速掌握PB直连数据库接口开发技巧,提升对接特殊版本数据库的效率。

weixin_30550081的博客 276

pb.11.5.2506破解补丁

选择 C:\Program Files\Sybase\Shared\PowerBuilder\PBSYS115.DLL patch 选择 C:\Program Files\Sybase\Shared\PowerBuilder\PBSHR115.DLL patch 完美解决倒计时提示框和过期不能用的情况。 注:没到期以前,从about看,和没注册没有区别,但是一过期,就会显示注册了。

pb11.5 4740 补丁

pb11.5 4740破解补丁覆盖同文件即可,WIN7可用。

微信接口PB源码介绍

微信接口PB源码介绍 去发现同类优质开源项目:https://gitcode.com/ 简介 本仓库提供的是微信线下支付接口PB源码。该源码将微信支付接口封装为COM组件,方便使用PB(PowerBuilder)进行调用。 功能特点 接口封装:将微信支付接口封装成COM组件,简化调用过程。 PB调用:支持PB语言调用,便于开发者在PB环境中快速实现微信支付功能。 使用说明 下载源码文件。 根...

gitblog_06715的博客 432

墨水屏高效开发:架构、开源库与实战优化指南

嵌入式显示技术中,电子墨水屏以其类纸观感和超低功耗特性,在电子书阅读器、智能办公本及工业仪表等场景中占据独特地位。其工作原理基于微胶囊电泳技术,仅在画面刷新时消耗电能,静态显示时功耗近乎为零,这带来了极致的续航优势。为实现流畅的交互体验,开发者需构建分层渲染架构,通过硬件抽象层统一驱动接口,并引入帧缓冲与差异比较算法智能决策局部刷新区域,从而大幅降低刷新延迟与功耗。开源库如GxEPD2和LVGL为墨水屏适配提供了关键支持,结合波形文件管理与电源优化策略,能有效解决残影与卡顿问题。本文聚焦于eink墨水屏高效

weixin_42545636的博客 411

ARM PB926EJ-S开发板调试接口与测试点详解

嵌入式系统开发中,调试接口是连接硬件与软件开发的关键桥梁。JTAG作为行业标准调试接口,通过四线制(TMS、TCK、TDI、TDO)实现对处理器核的底层控制,其工作原理基于状态机机制,能够暂停CPU执行、读写寄存器等。现代调试技术如ARM CoreSight进一步扩展了调试能力,支持非侵入式跟踪和性能分析。在ARM PB926EJ-S开发板上,调试接口生态系统涵盖了从传统JTAG到AHB总线监控的完整方案,配合36个精密测试点,可满足从底层驱动开发到系统集成的全周期调试需求。这些技术在物联网设备、工业控制等

weixin_30764883的博客 344

阿里云学生机2核4G,30分钟搞定DNF台服联机(CentOS 7.6保姆级教程)

本文提供阿里云学生机2核4G搭建DNF台服联机的详细教程,涵盖服务器选购、网络配置、服务端部署及客户端联机设置。通过CentOS 7.6系统优化和端口配置,30分钟内即可完成搭建,适合学生和技术爱好者低成本实现游戏联机体验。

weixin_42537919的博客 359

硬件级Dalvik字节码粒度无痕HOOK及VMP取址码定位分析

2.通过硬件读写断点的输出信息 可知pc寄存器就是art解释器的取码地址 直接硬件执行断点在这个pc 即可直接trace所有的smali执行流 通杀所有机型系统。本文即将探讨的是 如何在硬件级别实现dalvik bytecode粒度的无痕拦截技术 并实现鼠标点击一键hook 指哪儿打哪儿 感受 button power 的强大魅力!4.由于硬件断点是同步的 断下后可随时硬件dump下这一瞬间的app内存映像 写入unicorn的内存模拟执行。解释器在解释执行前必会读取内存中的bytecode。

2503_90751789的博客 1085

PB-PowerBuilder125开发Webservice的DEMO_从配置IIS到发布接口到调用webservice

PowerBuilder125开发Webservice的DEMO, 从IIS配置都12.5发布webservice,到pb建立工程调用,一条龙,配详细文档,免下载分下载。 最开始只需要3个积分就能下载,下载的人越来越多,现在竟然需要50积分,真是日了狗了,以后谁需要,可以发邮件到 yangjinchao777@126.com , 我会通过邮箱发送。 http://download.csdn.n...

小树苗不知道 5155

o型圈沟槽设计_O型密封圈——详细选型过程及步骤

一、密封圈常用材料二、密封圈常用密封形式密封圈分为活塞密封,活塞杆密封,端面密封,旋转密封。三、O型密封圈的选型规则O型密封圈的尺寸图径向安装O型圈选型(静态和动态运动)活塞杆密封选择适当规格的O形圈时,应该保证其外径(d1+2*d2)至少等于或者大于沟槽外径d6;当选择的O形圈直径d1大于250 mm时, O形圈外径将不能超过沟槽外径的3%;当选择的O形圈直径d1小于250mm时, O形圈外径将...

weixin_39856630的博客 2万+

微信接口PB源码介绍:简化PB环境下的微信支付

微信接口PB源码介绍:简化PB环境下的微信支付 去发现同类优质开源项目:https://gitcode.com/ 微信支付作为现代商务流程中不可或缺的一环,其接口的调用与集成显得尤为重要。本文将为您详细介绍一款开源项目——微信接口PB源码,帮助您在PB(PowerBuilder)环境下轻松实现微信支付功能。 项目介绍 微信接口PB源码是一个专为PB开发者设计的服务项目。它通过将微信支付接口封装成C...

gitblog_06790的博客 704

Playwright实战:打造绕过全维度前端反爬的无头浏览器爬虫(2026实战版)

Playwright绕过前端反爬的核心是模拟真实:真实的设备指纹、真实的行为轨迹、真实的网络请求;2025年前端反爬的核心检测维度是设备指纹+行为轨迹+网络请求,三者缺一不可;实战中需重点关注WebGL/Canvas指纹模拟、行为随机性、请求头完整性,这是绕过反爬的关键;性能优化需以“不触发反爬”为前提,优先选择浏览器复用、资源拦截,而非无限制并发。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 2094

DSP篇--C6678功能调试系列之EDMA3调试

EDMA主要用于数据的搬运,发送、接收,其搬运数据的形式有;AB模式,ABC模式以及ping-pong模式。 EDMA3分初始化、参数配置、以及中断配置。其中中断配置则需要注意的内容主要有:挂载的TC通道,对应的触发事件,以及中断的使能。

nanke_yh的博客 1720

软件测试/测试开发丨Pb协议的接口测试

用于序列化结构化数据,此工具对标 XML ,支持自动编码,解码。更多有关工具的介绍可参考官网。如果数据通过 https 传输,可采用 requests ,其它传输方式同理,请自行查阅数据传输工具。如果测试人员代码与被测对象建立了联系,即可收发测试数据,测试人员对接收到的数据编写测试用例即可。文件,利用 Protocol Buffers 工具即可生成 Python 代码,此代码就是使用者想要的数据结构。文件,利用 Protocol Buffers 工具生成 Java 代码,此代码可被 Java 进行解析。

霍格沃兹测试学院的博客 207

【机器学习系列】一文搞懂 零知识机器学习(zkML)

位串行乘法器:实现了Booth编码优化,将乘法分解为移位-加法序列,减少部分积数量50%:模拟脉动阵列的2D网格计算,支持分块(tiling)策略优化内存层次卷积映射:提供直接卷积(行缓冲+滑动窗口)和im2col+GEMM两种硬件映射策略。

VectorShift的博客 156

PB开发Windows服务方案

​ PB作为一门客户端开发语言,虽然官方并未提供标准的Windows服务开发方案,但使用PB开发Windows服务并非无法实现。自PB9开始,PB提供了PBNI接口,PB与C++可以通过这个接口互相调用,而C++可以开发Windows服务。因此只要使用C++将Windows服务的主体结构固化下来,在适当的时候通过PBNI接口启动PB进程、调用PB编写的处理过程,就能够实现以PB语言开发Windows服务。PBExtSVC就是这样一个实现PB语言以固定模板快速开发Windows服务的工具。

JasonFriday的博客 1404

2021-10-29【微生物】丨基于qiime2工具16S/ITS分析全套流程(上)

目录摘要工具与方法使用命令结果展示总结二级目录三级目录 摘要 前两个月项目特别多,最近终于有机会闲下来写点文章,把之前搭建的流程梳理一遍。前同事分析16S/ITS使用的qiime1,我接手后感觉不太适应,希望能够使用新版本来搭建,于是花了几天时间重新搭了这个流程, 工具与方法 使用工具:qiime2 使用版本:qiime2-2021.4 参考文档:https://docs.qiime2.org/2021.4/(最新版本2021.8) 使用命令 在这里插入代码片 结果展示 总结 二级目录 三级目录 ...

1万+

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

STM32F103的PB3/PB4引脚驱动继电器失败?别急,先检查JTAG复用这个坑

本文深入解析STM32F103的PB3/PB4引脚驱动继电器失败的常见问题,指出JTAG复用机制是主要原因。通过详细的寄存器配置和代码实现,提供完整的解决方案,帮助开发者快速排查和解决引脚功能复用冲突,确保GPIO正常驱动外部设备。

weixin_31783001的博客 253

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

上一篇: 数据窗口表达式
下一篇: pb函数大全
靠影
博客等级 码龄8年 1182粉丝 26原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值