
PowerBuilder与数据库
文章平均质量分 61
PowerBuilder与数据库
chengg0769
这个作者很懒,什么都没留下…
展开
-
PB报错:Migrated To Current Version,Regenerated
2)或者在某个报错的对象上面点右键》export,然后再import试试。原因,用较低的补丁写的,然后又在其他电脑上面用更高的补丁来开发。pb自己有菜单可以处理。1)如下图,倒数第四个Regenerate。原创 2025-03-21 10:34:08 · 420 阅读 · 0 评论 -
PowerBuilder反编译工具实战:从.pbd和.dll到源代码
PBD文件查看源码,逐步恢复该项目,由于之前没人接触过反编译,网上的PB资料也不是很多,所以一路都是自己摸索过来的,下面是我个人的一些总结,跟大家分享一下,如有不对的地方,欢迎大家指出。最近在做PB的项目,该项目只有PBD文件,而没有源码,只能通过。一、首先介绍一下项目中主要用到的软件,原创 2024-11-28 12:50:46 · 592 阅读 · 0 评论 -
pb105使用ado.net接口提示缺少sybase.powerbuilder.db
本来要用oledb的。结果能连上但是无法看到table和view。dw设计时看不到表。算了试试ADO.net。提示无法找到sybase.powerbuilder.db。拷贝第一个dll到exe所在文件夹就行了。平时还真的没有使用过ado.net接口。以前没遇到真的有点懵。原创 2024-11-10 13:52:34 · 222 阅读 · 0 评论 -
PB的posturl无法传递带query参数的链接的处理办法
Do While ole_http.readyState 4 //查询状态,延时。这样写li_rc直接返回-1.之前没有加token时,是ok的。加了这个尾巴就不行。//注意header的写法要分键值对写。和pb的拼接方式不同。用apipost测试是可以的。另外之前写了一个get的这个控件的使用。原创 2024-11-10 12:52:30 · 405 阅读 · 0 评论 -
PB9一个运行时错误:Non-array expected in ANY Variable
显然,不管is_ar是什么类型,这个to上限应该是一个int才行。这是造成此错误的直接原因。至于这个提示,当然是有点“莫名其妙,不知所云”了。仿佛一看,这是一个莫名其妙的问题,在百度也只搜到一个类似问题。但是定睛一看,是一个很奇怪的错误,就是说代码自己写错了。原创 2024-09-11 08:58:02 · 318 阅读 · 0 评论 -
OBDC中没有xls驱动
安装这个access驱动即可:原创 2024-09-06 21:53:44 · 278 阅读 · 0 评论 -
Powerbuilder项目文件太多,对象继承太多导致编译需要几个小时的解决方案
在workspace》target》properties》library list中,把不经常需要在此项目中修改的pbl全部改为pbd(前提时,这个pbd已经单独编译过。abc这个项目,有print.pbl,md5.pbl,pfc.pbl,socket.pbl那这些库对当前业务系统来说,是不需要再修改的。项目文件太多,很多pbl是一个相对独立的库算法,而且还夹杂着pfc的一些老库。这些库的特点就是继承和封装比较好,但是导致编译速度特慢。**注:可能最影响速度的就是pfc这样的库。因为它是完整而系统的库。原创 2023-07-01 11:00:50 · 667 阅读 · 0 评论 -
pb取获网页:用PostURL+internetresult和XMLHTTP两种
*注意,这是调试通过的代码。我从网上找的几段类似代码都报错就是在ole_http.Open时,提示错误的方法(open)调试了一下午,睁大眼睛也没看出什么问题。备注有时间再去看看怎么回事。第一种用自带的,本来应该无问题,但是今天遇到点问题,环境pb8,不知道怎么回事,读新浪首页可以40000多字节,但是读某个接口get才3000+字节,post才8000+字节。// sle_orderinfo.text = "无法连接到主机取数据: ~n"+err[li_rc*(-1)]原创 2022-12-29 22:28:36 · 1503 阅读 · 2 评论 -
PB8 6028的一个bug:无法直接点RUN图标运行
在测试使用PB8 6028时遇到一个bug:无法直接点RUN图标运行测试,PB崩溃报错退出。经过多次尝试,无意中发现只要打开了application后再点RUN,却能正常运行。原创 2022-11-01 09:26:56 · 145 阅读 · 0 评论 -
用SQL Developer 解决Oracle密码过期the password has expired
对于Oracle密码过期the password has expired的问题,网上的文章介绍都是用sqlplus解决。但是奇怪我安装的12c没有sqlplus.exe.所以只有使用sql developer以sys连接进行重置密码。对于非专家级的人会觉得挺复杂,因为之前早期多使用命令工具比较多。而使用SQL developer就和SQL manager一样简单。登录后,左边展开树形,找到test连接下面的“其他用户”,图示为MY1,MY2,MY3,按如下图示点右键“编辑用户” 修改即可。原创 2022-10-12 11:35:44 · 653 阅读 · 0 评论 -
PB11.5,PB12 web项目初探
最近做了一个简单的运用,尝试发布成webform成功。有如下总结:1.webform开发方式同c/s开发完全不同概念。理论上可以同时发布为两种,我最初也是这么高兴了一阵子,但是实际上不行。1.1 web不支持的功能属性太多。1.2 颜色体系不一样。c/s的颜色底色(银灰色)几乎要全部改为白色。如果在web中用银灰色似乎不是东西。1.3 c/s底下熟悉的丰富的客户端交互功能全无。比如dw响应,在原创 2010-03-09 20:54:00 · 11335 阅读 · 11 评论 -
浅谈Powerbuilder的未来和Powerbuilder使用者的未来
Powerbuilder的未来预见:Powerbuilder现在成为sap家族的一个工具,广大是用pb的人士可能忐忑不安,本身12还在没稳定,就出现这样子的事情。通常使用者心底都希望自己的工具是一个保持独立的产品。LAMP能说明这种情况。我预见,sap作为企业运用的集大成者,整合sybase在业界看来是件好事。我认为也如此。erp+数据库+平台也是其他几家集团已经整合完成的一个模式。ms,ibm,oracle。都说四家天下。相形之下,sap在db方面是没有话语权,或者说一张结实的桌子只有桌面子,没有四条腿。原创 2010-06-07 01:59:00 · 17790 阅读 · 46 评论 -
pbkiller导出的源码批量修复和批量导入技术(转)
pbkiller导出的源码批量修复和批量导入技术 原文:http://itmed.blog.sohu.com/96898840.html 原文发表于2008-08-10 作者深蓝无忌1用pbkiller可以从pbd导出"*.sr?"这样的文件,但是不能直接导出pbl2由于pb导入"*.sr?"时,由于(1)类之间的依赖关系,若a的父类为b,先导a是不行的(2)pbkiller导出的源码有部分源码错误。3鉴于以上情况,本人写了serachan转载 2010-10-04 12:30:00 · 7521 阅读 · 1 评论 -
SQL如何构建多条件组合查询,而且不降低效率
当然,如果你在pb中的话,数据框检索条件里是可以用control[10]这样的数组传入的,则SQL的where条件可以这样写: (1 in (:control_array) and id = :id)。多条件组合的需求是:用户在不同的视觉情况下,可以使用某个条件或者忽略某个条件,而且前面讲到的基于单表的按字段查询也不适用于复杂的数据结构,比如设计的系统结合的表很多,则将用户限制在单表的多字段是不行的。小提示:1. 对于不用的条件,enabled=false这样可以让用户不能填写,不发生杂乱难用的感觉。原创 2007-12-12 14:10:00 · 10075 阅读 · 1 评论 -
有关Powerbuilder的悲观论和乐观论(由郭贴引发的300多贴争辩想到的,也是很久就想秉明的一个观点)
不管用一个工具多少年,写过多少本书,技术日新月异,我想大家都是在一个起跑线上。话最多的就是初学者,看到一个新技术就来pk。pk是永远没有结论的。存在就是真理。pb能做很多事情,而且还活着,还是有如此多的弟兄在用。就有他存在的道理。未来的需求是春秋战国,群雄四起,各种工具都有它跑马圈地的能力。相比十几年前单一的需求和单一的工具来说,不可同日而语了。拿pb做证据已经完全无法说明今天的问题了。我建议,仅原创 2010-05-27 06:18:00 · 5706 阅读 · 22 评论 -
SQL,SQL2000:数据表命名和字段命名方法[原创]
(当然对于一些fk表,一般是char(2)+varchar(16),或者smallint+varchar(16),我们变通的做法是集中在一张表里,外加一个tabName字段来区分(tab+id+description)。比如INV00100100101,字母在这里起到分模组的标识作用,而后面的数字分四节,而且前三层可以命名999个子模块,最后一节可以命名99张表。比如ERP系统,一般是有专业人员专门负责设计,所以不会很乱,而一些小系统则是五花八门,拼音,数字,什么都有。是很复杂的,分模组,模块就显示必要。原创 2007-08-29 22:17:00 · 7220 阅读 · 1 评论 -
关于SQL的char,varchar字段在导出时切断中文字符显示问号或乱码的问题[原创]
解决了逗号问题,但我测试时仍然出现问题,什么问题呢,就是录入人员有时录入的是繁体的汉字(比如东莞录入成東莞),我把出现错误的行全部copy到一个文件里导入,在手动导入时的预览界面看到,繁体字的地方会被分隔成两行,从而报错。然聪明的人能想到,先在末尾添加一个字符,再用left(name,len(name)-1)来处理也是可以的,因为left是基于一个完整的字符,英文算一个,汉字也算一个。当然这是程序的问题了。而这个切断就出现了问题,其实我们看到的问号,并非是英文的问号,而是半个汉字与逗号的结合造成的乱码。原创 2007-09-12 20:05:00 · 6093 阅读 · 1 评论 -
PB调用EXCEL的操作不失为一种好的报表输出方式
对于较为中国化的报表,虽然后dw这个坚强后盾,但是也难不住繁复疲劳的应对。不过我们可以知道,数据的输出,都是居于table的栏位或者计算字段。只是很多统计的模式和展现模式不同。我在一年前作完一个系统,可是客户几乎隔三差五有新的东东要输出报表。终于我发现。让客户先在excel里弄好,然后再写程序来输出也是一个不错的方法。关键是,客户给的东西不必要再进自己的系统,所以数据不会发生什么问题。如果原创 2009-05-15 23:17:00 · 5170 阅读 · 1 评论 -
我的powerbuilder框架,经过三套软件的开发逐渐形成并得到完善
我的做法是写一个全局函数,传入datawindow和一个控制字符串,如:gf_dw_protect(dwx,change_type,control_str),如gf_dw_protect(dw_1,10,"-1-2-3-4-5-8-10-"),这样来改变,每次修改时,只需要确认栏位的编号即可。就达到了权限设置,而用户打开某个子窗口后,再对子窗口的菜单设置编辑权限。另外是m_sheet用作只有detail形式的编辑窗口,功能按钮有:导出,保存,取消,插入,修改,删除,审核,排序,数据过滤,导出过滤,打印等。原创 2007-12-13 00:52:00 · 5134 阅读 · 2 评论 -
PowerBuilder用ODBC方式连接数据库时,不用注册数据源
一般连接odbc,我们需要手工在控制面板的ODBC(32位)注册数据源,一般我们是在“用户DSN”或者“系统DSN”中注册一个链接到某个数据库的链接。我们也可以建立“文件DSN”。过去,用程序自动注册数据源,我们一般是仿照手工注册的方式,在注册表中写入。最近参考了一篇vc++使用odbc的例子,当调用sqldriverconnect函数时,它是把如上所示的文件dsn中的信息直接送入该函数的,也就实现了编程直接送入连接字符串,不需要注册什么数据源。具体就是把上面的“文件DSN”的项,改为DBParm的参数。.原创 2022-08-16 20:10:20 · 814 阅读 · 0 评论 -
ODBC 17.0在PB11.5和PB12.5连接时提示客户端不支持加密
在odbc管理器都支持连接到sql2005.但是用pb11.5和12.5提示客户端不支持加密。用pb9测试没问题。换ODBC 18.0之后。pb9,11.5,12.5测试都可以了。证明17.0还是有点bug的。原创 2022-08-05 19:45:15 · 431 阅读 · 0 评论 -
[ODBC Driver 18 for SQL Server]SSL 提供程序: 证书链是由不受信任的颁发机构颁发的
2)连接字符串加入参数:TrustServerCertificate=yes。1)odbc数据源界面:信任服务器证书。原创 2022-08-03 14:12:28 · 3685 阅读 · 0 评论 -
recoverydw_v65.exe和PBKiller.exe,recoverydw,PBKiller
PB反编译,PB反编译大师,PB反编译专家,PB反编译工具,PB混淆加密大师,PB加密工具,DatawindowHTTP组件,powerbuilder反编译,pb写的软件反编译源码,PBDecompiler官网。前面是反编译数据窗口的,后面是绿色的是反编译函数,结构体,UO,窗体等。......原创 2022-07-25 07:31:45 · 644 阅读 · 0 评论 -
DataWindowHTTP(二)数据库安装
考虑到大家也可能尝试不熟悉的数据库,比如mysql,postgresql,或许可以作为参考。就我们许多的中小项目而言,数据量和并发要求很低,其实是足够。唯一缺乏的就是熟悉程度,个人感受呢,开源数据库使用起来会遇到很多问题,需要多实践多积累,物尽所用,最后会得心应手。其他人的经验Windows2012r264位系统安装10.2.0.4的数据库64位,总会出现这个报错,要么是dbca的时候,要么就是建完数据库,一重启服务器之后,sqlplus也登陆不了报错。根据不同服务商,一般同区域的内网是互通的。......原创 2022-07-24 18:59:09 · 388 阅读 · 0 评论 -
DataWindowHTTP(三)服务器安装-WEBSERVER
datawindowhttp原创 2022-07-24 18:48:12 · 165 阅读 · 0 评论 -
DataWindowHTTP(四)服务器安装-接口部分
目录Apache2.4PHP8.0PHP接口安全性服务器安装分四个部分:其中一二部分请参阅文档:《DataWindowHTTP服务器安装-WEBSERVER.pdf》现在说一下接口部分的安装和配置。原创 2022-07-24 17:07:19 · 259 阅读 · 0 评论 -
Datawindow在PowerBuilder中的常用功能和内容
Datawindow在PowerBuilder中的常用功能和内容。经常使用的函数调用方法举例。原创 2022-07-24 15:04:26 · 1956 阅读 · 0 评论 -
给DW2XLS源代码增加了同时导出多个dw的代码(合并多个dw)
给DW2XLS源代码增加了合并多个dw的代码。现在共享下载客户定制的,如果后期我有修改的话,我会继续释放出来供下载的。现在只是简单的合并,如果上下两个dw的栏位宽度不适合。需要自己修改改进。换言之,适合上下两个dw栏位宽度差不多,不需要调整的情况,如果需要,要看代码自己再去改,思路我已经有了,假设上面某列的宽度是 W上 ,下面的某个对应栏位的宽度是W下。如果 w下<= 1.3*w上,就用比较大的这个w做栏位宽度。如果 w下> 1.3*w上, 则让w下占据2个w上的宽度,并两列原创 2022-04-18 16:48:34 · 801 阅读 · 0 评论 -
Powerbuilder连接互联网数据库:DataWindowHTTP(dwhttp)
下载地址 http://datawindow.ltd/soft/datawindowhttp.rar文档 http://datawindow.ltd/soft/DataWindowHTTP-Product.pdf是啥:一个基于dw的拓展组件,通过web服务器连接数据库,避免采用直连。用于互联网云主机上面的数据库访问。用途:设计在互联网分布的数据库。解决头疼的直连断线问题。采用非永久连接,数据访问和写入灵活。特点:1). 支持在9.0及以上共12个版本上开发。2). 轻...原创 2021-10-10 23:56:41 · 1121 阅读 · 0 评论 -
Powerbuilder webform,webservices 倍力文档在线查看
之前连接失效,另外提供链接:PB_A_200609 Datawindow.net新功能PB_A_200610 webformPB_A_200705PB_A_200709PB_A_200801 Net assemblyPB_A_200804PB_T_200603PB_T_200704PB_T_200705PB_T_200710 webservicesPB_T_200711 webservicesPB_T_200802 webformPB_T_200804 w原创 2022-02-07 11:31:51 · 1462 阅读 · 0 评论 -
PB9的blob写入的问题
pb9之前没有使用过,没有byte,或者类似这样的一个字节类型,char是一个字节,但是写数字没法用。我要写入一个字节的数据。blob bbytebbyte=blob("A")blobedit(bbyte,1, 100*nnnnn)这样好像不行,类型不明确似乎写不进,指定类型blobedit(bbyte,1, int(100*nnnnn))好像也不行,bbyte长度为1,int是2,写不进用bbyte=blob("AA") //len=2blobedit(bb...原创 2022-01-14 10:34:30 · 641 阅读 · 0 评论 -
FreeForm和composite中插入子报表的区别
移植一个composite有两个子报表,没注意搞成了freeform中插入子报表,使用datawindowchild dwcdwc.describe("DataWindow.Table.Arguments") 失败。而改为composite可以了。原创 2022-01-13 18:08:18 · 191 阅读 · 0 评论 -
PB9的struct中声明decimal的精度问题
可能ide有问题,设计decimal类型,重新打开变成了dcimal{0}就没法显示小数了。改为decimal{18}则赋值123456789.01时会变成:0.000000012345678901改成decimal{15}能正常显示为:123456789.010000000000解决方法:在source edit中改为decimal后,再次打开正常。ide会显示为decimal { 31 },这个31应该是默认类型的定义,是系统自动显示的。(虽然下面状态栏提示精度是0-18,不管它。而原创 2022-01-11 14:33:27 · 653 阅读 · 0 评论 -
Datawindow如何降低版本
datawindow有时需要从高版本导入到低版本去。因为兼容性的问题,高版本添加了一些新属性,但是保留了低版本的大部分特性。所以我们只要安装pb提示删除新的属性就能导入到低版本中。如图操作1.低版本中随便新建一个dw,然后命名与高版本中这个dw相同2.右键,editsource,复制粘贴高版本的dw源码,保存,按提示修改。3.如图,提示col的位置是某个未知的不支持的属性值的=的位置。找到并删除该属性即可。...原创 2022-01-09 19:37:00 · 460 阅读 · 0 评论 -
pb编译机器码不成功的问题
1.could not create or open file 'c:\docume~1\admini~1\locals~1\temp\em32T.h'create of executable file failed2.---------- Linker: Errors (08:47:33)---------- Finished Errors (08:47:33)3.Codegen compilation error原创 2022-01-07 15:29:56 · 1355 阅读 · 0 评论 -
SQL server安装时显示重启计算机失败问题解决办法
按网上的删除注册表项,找不到那个项。另一篇介绍提示是否禁止了自动更新。果然。操作系统不能处于禁止更新状态,点开“系统更新”,显示“重启电脑”,证明系统更新了补丁还未更新。所以造成sql安装的问题。手动点重启更新系统后解决。...原创 2021-12-31 15:25:52 · 2728 阅读 · 0 评论 -
PB的blob类型的坑
坑1:blob转成number时要用对类型转换函数long biWidthFileseek(filebmp,biWidth_offset,FromBeginning!)FileReadEx(filebmp,bread,biWidth_len)//blob赋值给longbiWidth = long(bread) //这里可以intbiBitCountFileseek(filebmp,biBitCount_offset,FromBeginning!)FileReadEx(...原创 2021-10-17 16:43:43 · 1305 阅读 · 0 评论 -
DataWindowHTTP(一) PB互联网数据窗口组件-V1.00产品说明书
DataWindowHTTPV1.00产品说明书PowerBuilder DeCompiler,PowerBuilder Obfuscator,PB DeCompiler,PB ObfuscatorPowerBuilder DeCompiler,PowerBuilder Obfuscator,PB DeCompiler,PB ObfuscatorPowerBuilder DeCompiler,PowerBuilder Obfuscator,PB DeCompiler,PB ...原创 2021-10-09 22:04:43 · 1775 阅读 · 0 评论 -
Error calling function %s at错误的新情况
今天用c++封装了一个openssl的函数。当一个参数搞忘记赋值时,(最后一个)提示这个(下图我故意设置为空值演示)。但是很令人费劲。原创 2021-06-25 11:16:47 · 1476 阅读 · 0 评论 -
PB9.0 MDI的首个子窗口无法最大化的问题
PB9.0 MDI的子窗口设计为maximized! 用opensheet打开:方案1:opensheet(w_first,this,0,Original!) //第一次是最大化,但是当打开第二个字窗口时,它回复原始尺寸。方案2://改为如下:opensheet(w_first,this,0,layered!)//下面这句触发成最大化。w_first.windowstate = Maximized!这样写它能一直保持最大化。...原创 2020-08-09 09:59:44 · 729 阅读 · 0 评论