ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

PowerBuilder 11.5安装指南:老牌RAD工具的DataWindow与数据库连接实践

PowerBuilder 11.5安装指南:老牌RAD工具的DataWindow与数据库连接实践 简介PowerBuilder 11.5 安装文件以 rar 压缩包方式提供面向需要部署该经典开发工具的软件工程师、项目维护者与培训学习者尤其适用于旧版企业应用的二次开发、功能扩展或环境迁移场景。PowerBuilder 作为数据库前端开发平台在数据窗口、报表输出以及多数据库连接方面具备成熟能力11.5 版本仍可在不少遗留系统中稳定运行因此这份安装文件对持有旧许可证或需要还原特定开发环境的用户有直接价值。压缩包整体约 729.75MB包含安装主程序和相关运行组件能够支撑常见的离线安装操作由于渠道未给出文件数量与明细下载后建议先核对压缩包完整性并依据本机配置调整安装选项。目前该资源已有 1342 人学习/下载关注度较好。获取后读者可立即开展环境搭建并配合已有项目代码完成编译、调试与发布从而降低因安装介质缺失带来的维护阻力。1. PowerBuilder 11.5 是什么老牌 RAD 工具凭什么还能跑今天的业务手头放着PowerBuilder115.rar这个压缩包的人多半不是主动来学新框架的而是项目归档、设备迁移或者老系统交接时被迫面对它——PowerBuilder 11.5 是 2007 年前后 Sybase 发布的经典 Windows 桌面应用快速开发工具它的口碑和槽点都集中在同一个功能上DataWindow数据窗口。今天在一线还能看到它的原因是银行、保险、政务、制造业里有大量历史系统跑在 PB 上界面老、逻辑复杂但业务稳定没人敢轻易重写维护这些系统就必须装上 11.5 的 IDE 去改窗口、改报表、重新编译 exe。适合它的读者是三类人接手老系统的新人、做系统迁移的工程师、以及偶尔被老板叫去改一个十几年前报表的程序员。这篇笔记按我第一次拿到这类安装包的顺序来写先核对版本和运行环境再装再连数据库最后把常见的翻车点都列出来。真正的 PowerBuilder 11.5 安装教程里最值得看的不是下一步下一步而是版本选型、数据库客户端位宽和时间环境匹配——这些折腾对了IDE 本身十分钟就能起来。2. 安装前的三件事版本核对、系统环境与 RAR 包解压2.1 版本怎么核对11.5 与补丁版本的差距有多大看到PowerBuilder115.rar这个文件名第一反应是“11.5”但 11.5 只是一个产品版本号。Sybase 在 11.5 之后发过若干补丁EBFEmergency Bug Fix修复过数据窗口内存泄漏、Oracle 接口崩溃、以及 IDE 在特定操作系统上无法启动的问题。所以拿到压缩包后第一步不是双击 setup.exe而是先确认里面装的到底是原始 11.5 还是带补丁的 11.5.x。最直接的核对方法把压缩包完整解压后用 PowerShell 读取 setup.exe 的版本信息。Get-ChildItem C:\PB115_Setup -Recurse | Select-Object -First 50 Name, Length (Get-Item C:\PB115_Setup\setup.exe).VersionInfo | Select-Object FileVersion, ProductVersion第一条命令列出安装目录下前 50 个文件和大小用来判断目录结构是否正常第二条命令读取安装程序的版本信息。-First 50只是避免一屏刷几十万行看安装程序的主文件足够判断版本方向。如果目录里存在EBF、SP、Patch字样的文件夹说明包里本来就带了补丁装完直接就是修复版如果只有一个孤零零的 setup.exe建议装完后手动找对应补丁否则后面连新版 Oracle 或 Windows 7 虚拟机时会有莫名其妙的问题。读取出的ProductVersion如果以 11.5 开头再看第二位比如 11.5.1、11.5.2数字越高越好。这里补丁版本不是玄学直接影响旧项目能否正常编译老版本 IDE 对代码页为 UTF-8 的源文件处理有问题对 Windows 7 的兼容性也差补丁会顺带改善这些。文件名是 11.5不等于它内部就是修好的 11.5。2.2 系统环境32 位系统与 32 位数据库客户端的硬性要求PowerBuilder 11.5 是标准的 32 位 Windows 应用程序官方支持范围是 Windows XP SP2、Server 2003、Vista、Server 2008 这一代系统。到了 Windows 10/11 上安装程序一般还能跑但 IDE 里的某些辅助程序会挑权限级别数据库连接也会因为 64 位系统上的客户端混装而出状况。所以维护老 PB 项目我一般建议直接在虚拟机里装而不是硬塞到日常办公的 Windows 10 机器上。虚拟机系统不要追新用 Windows 7 32 位最省心既能发挥 PB 11.5 的性能又不会像 XP 那样缺现代补丁、各种驱动找不到。虚拟机的好处是可以快照装完 PB、配好数据库客户端后拍一个快照后续怎么折腾都不怕这个习惯能救很多次尤其是后面大概率会反复卸载重装。除了操作系统本身数据库客户端版本是第二个雷。PB 11.5 通过 ODBC 或专用数据库接口连接 Oracle、SQL Server、Sybase ASE 等数据库。拿 Oracle 举例11.5 自带的 Oracle 接口对 10g 客户端支持最好如果你机器上偏偏装了 64 位的 Oracle 11g/12c 客户端PB 加载驱动时会直接报“无法加载指定的驱动”。原则很简单PB 是 32 位它的数据库客户端也必须是 32 位连接 Oracle 时优先用 32 位 Instant Client 加 ODBC而不是让 PB 直接调 OCI 库。2.3 解压路径与文件清单拿到 PowerBuilder115.rar 后先做什么老项目档案里流出来的 rar 包第一件事不是解压而是杀毒。这类包经过多次拷贝经常被安全软件标记里面有广告插件或捆绑安装程序的并不少见。确认来源没问题、杀毒软件没有报“高风险”之后再把它解压到纯英文路径下比如C:\PB115_Setup。不要解压到桌面或带中文的目录MSI 安装程序对路径里的中文字符处理不好会在注册组件阶段回滚。解压 RAR 用 WinRAR 的命令行最利索 C:\Program Files\WinRAR\WinRAR.exe x -y .\PowerBuilder115.rar C:\PB115_Setupx表示带原始目录结构解压-y表示遇到覆盖确认时自动选“是”.\PowerBuilder115.rar是当前目录下的压缩包C:\PB115_Setup是解压目标目录。如果 WinRAR 装在其他路径引号里的路径要改成实际位置如果手头只有 7-Zip也可以用7z x PowerBuilder115.rar -oC:\PB115_Setup效果相同。提示杀毒软件对 rar 包里的 setup.exe 报毒不一定是安装包有问题也可能是加壳导致误报。先隔离观察确认来源后再决定是否放行未知渠道下载的宁可放弃也不要冒险。解压完看一眼根目录结构。正规安装版一般有setup.exe、autorun.inf、以及一个存放 CAB 或 MSI 文件的子目录。如果根目录下找不到 setup.exe去子目录里找有些光盘映像打包时会把安装程序放在Disk1或Install这类目录里。看到autorun.inf也是正常的它只是光驱自动播放的入口实际执行内容仍由 setup.exe 决定。3. 安装全流程从 setup.exe 到第一次启动 PB IDE3.1 以管理员身份运行 setup.exe命令行启动与兼容性设置PowerBuilder 11.5 的安装程序要向Program Files写入文件、注册 COM 组件、写注册表这些操作在现代 Windows 上都需要管理员权限。直接双击 setup.exe 有一定概率不触发 UAC 提权导致安装到一半因为权限不足回滚。我的习惯是永远从命令行以管理员身份启动避免为这种无聊原因浪费时间。Start-Process -FilePath C:\PB115_Setup\setup.exe -Verb RunAsStart-Process是 PowerShell 里启动一个进程的命令-FilePath指向安装程序绝对路径-Verb RunAs等价于右键“以管理员身份运行”会弹出 UAC 确认窗口。如果 UAC 没有弹出说明当前登录账户本身就是管理员且系统不提示安装程序会直接用提升后的权限执行。如果启动后屏幕闪了一下就没有后续窗口做兼容性设置右键 setup.exe → 属性 → 兼容性 → 勾选“以兼容模式运行这个程序”选 Windows XP SP3。PB 11.5 的安装包在 Windows 10 的显示兼容上没有大问题但某些精简版系统缺少旧版安装引擎后面会单独讨论。另外强调一点安装过程中不要顺手把杀毒软件开了实时监控MSI 解压临时文件时被拦截装到一半回滚的概率非常高。3.2 安装类型怎么选典型、自定义与 Classic 版本的抉择安装界面走到选择安装类型时大多数人会选 Typical但维护老项目的场景里我更推荐 Custom。典型安装会把 Adaptive Server Anywhere 演示数据库、联机帮助文档、示例应用统统装上去占用空间大不说演示数据库还容易在环境里残留服务干扰后续排查。自定义安装里只保留几个核心组件PowerBuilder 11.5 Classic这是 IDE 主体、DataWindowFull以及必要的运行时。选组件的页面上会有两个容易混淆的入口一个是PowerBuilder Classic另一个是PowerBuilder .NET。第一次安装的人点错成 .NET 版的不少装完打开一看界面、工程类型、数据窗口写法都和公司老代码对不上。明确一点如果你维护的是传统窗口、菜单、数据窗口选 Classic.NET 版是当年实验性的另一条产品线老代码基本不走它。老系统的.pbl库文件在 .NET 版里会识别异常这类问题排查起来极其消耗时间。有没有联机帮助组件可选我一般会勾上但只装英文帮助。11.5 的中文帮助包本身就有编码问题装了反而在看帮助时花屏。英文帮助虽然读起来慢但至少索引是完整的查函数签名时更可靠。3.3 序列号与评估模式的边界安装到中段安装器会要求填 License Key 或选择试用模式。有正式序列号就直接填没有的话装评估模式大多数功能能用但发布出去的 exe 会带试用限制。这一步不用纠结先让环境跑起来验证代码许可证的问题交给有权限的同事处理。老项目交接时序列号通常写在项目根目录的readme.txt或者交接文档里翻一翻能找到。评估模式下最明显的限制是编译后的 exe 运行一段时间会弹提示数据窗口的预览功能也会限制连接时长。这只影响发布验证不影响日常阅读和修改代码。真要长期维护还是要解决授权问题。不要用网上那种注册机历史项目代码本身就有版权风险再搭一个来路不明的授权工具不划算。3.4 第一次启动 IDE工作区、目标库与字体配置安装完成后第一次启动 PowerBuilder 11.5会看到欢迎页面有的版本还会弹一个选择“使用 Classic 工作区还是 Web 目标”的对话框直接选 Classic。进入主界面后先创建基础工程结构才能进一步验证连数据库、编程序。在菜单栏选择 File → New会看到一个 New 对话框里面有 Workspace、Target、Library 等图标。顺序不能乱先建 Workspace用纯英文路径比如C:\Source\LegacyApp再建 Target最后建 Library。工作区是 PB 的最高容器Target 对应一个应用Library 是存放窗口、数据窗口、函数这些对象的 .pbl 文件。第一次跑通后就可以关闭这个空工程回头用真正要维护的源码来打开老项目通常自带 .pbw 文件直接用 File → Open Workspace 打开即可。字体配置在第一启动时顺手做掉Design → Options → Fonts把代码编辑器、窗口标题、数据窗口文本的字体统一改成宋体或微软雅黑。PB 11.5 默认的 MS Sans Serif 对中文是灾难界面看起来像花屏。这个配置存在pb.ini里如果公司内部有统一模板直接拷贝替换能省去一台台配置。4. 让 PB 连上数据库ODBC 配置与连接测试的完整路径4.1 找到 32 位 ODBC 管理器SysWOW64 里的隐藏入口PowerBuilder 11.5 是 32 位程序它在 Windows 上读取的是 32 位 ODBC 数据源。如果直接在控制面板的“管理工具”里打开 ODBC 数据源管理器64 位系统上默认打开的是 64 位管理器里面创建的数据源 PB 看不见。正确路径是C:\Windows\SysWOW64\odbcad32.exe。SysWOW64 是 64 位系统上存放 32 位系统文件的目录名字容易让人误解但记住“连 PB 就去 SysWOW64 里找 odbcad32”这个规律就够了。打开后切换到“系统 DSN”选项卡。我一般不用用户 DSN因为系统 DSN 对所有登录用户可见服务启动、任务计划这些后续操作不容易踩权限坑。点击“添加”选择对应数据库的驱动。如果是 SQL Server选SQL Server Native Client或传统SQL Server驱动都可以如果是 Oracle选安装 32 位客户端后出现的Oracle ODBC Driver。填参数时有一个细节SQL Server 的 DSN 配置里服务器名最好填 IP 而非主机名避免主机名解析到 IPv6 地址导致连接超时身份验证选“使用用户输入的登录 ID 和密码”因为 PB 应用多数用账号密码连接业务库而不是 Windows 集成认证。4.2 创建系统 DSNSQL Server 与 Oracle 的参数表DSN 配置界面里每个字段都有讲究最常改的是下面几个参数推荐值说明Name业务库缩写如ERP_MAIN全局唯一PB 端引用这个名字Server数据库 IP 或实例名本地开发填127.0.0.1Database库名如果下拉列表为空手填并测试Login ID业务账号不要用sa作为日常连接账号Password对应密码先勾选“保存密码”测试通过后可去掉客户端语言Simplified Chinese影响中文乱码问题这些参数里最容易翻车的是 Server 和 Database。很多老数据库实例名带有大小写或特殊字符ODBC 配置时无法从下拉列表里看到手填后又因为 IP、端口、防火墙问题报“超时”。我一般先在本机用ping验证 IP 可达再用telnet IP 端口验证端口通不通然后再去 ODBC 里填参数能省掉一半排查时间。Oracle 的 DSN 配置略有不同通常在驱动配置界面里可以直接填TNS Service Name或完整的连接字符串。如果你用 Instant Client配置界面里还要填TNS_ADMIN指向的目录否则找不到 tnsnames.ora。把 tnsnames.ora 放在C:\oraclient\network\admin这种纯英文路径下连接字符串写成(DESCRIPTION(ADDRESS(PROTOCOLTCP)(HOSTIP)(PORT1521))(CONNECT_DATA(SERVICE_NAME服务名)))比依赖本地 TNS 命名更稳定。4.3 在 PB 里创建 Database Profile 并测试连接数据源建好后回到 PowerBuilder 11.5。菜单栏找到 Tools → Database Profile 或直接点数据库画笔图标在打开的窗口里展开ODBC节点点新建。这里要填两项核心内容Profile Name随便起建议和 DSN 名一致比如ERP_MAIN和 Data Source下拉选择刚才创建的 DSN。下面还有 User ID、Password 两个输入框测试环境可以填好并勾选“连接时提示”生产环境则用代码里的SQLCA运行时赋值。填完后点Test Connection。成功的标志是弹出一个小窗口显示连接成功。如果失败按错误提示分头排查提示找不到数据源回去查 DSN 名是否一致提示登录失败检查账号密码和数据库权限提示驱动加载失败检查 32 位 ODBC 驱动是否真的存在。这一步跑通了PB 的数据窗口才能在预览时取到数所以先不要往前写代码把连接验证做完再继续。在 Profile 的属性窗口里有一个 Preview 标签页它会实时生成一段连接字符串例如ODBC;DSNERP_MAIN;UIDuser;PWD***;。把这串字符保存到项目备注里以后写代码或者排查连接问题时可以直接对照。PB 运行时用的连接对象是SQLCA它的DBMS属性填什么、Database属性填什么都可以从这段 Preview 里抄。4.4 从 DSN 到 Profile 的排查顺序连接报错千奇百怪但按顺序排查基本不会卡太久先在本机用 ODBC 管理器里的“测试连接”按钮直接测 DSNDSN 通了再回 PB 里测 Profile。如果 DSN 本身不通那是网络、账号、防火墙的问题和 PB 无关如果 DSN 通而 PB 不通多半是 PB 侧的 Profile 参数抄错或者是 32/64 位不匹配。时间同步也是一个冷门的坑老版本的 ODBC 驱动在连接时会校验客户端和数据库服务器的时间差偏差超过一定范围直接拒绝连接。虚拟机里如果反复同步宿主时间很容易踩到这个。检查方式是在命令行执行w32tm /stripchart /computer:数据库IP查看时间偏移有偏差就调整虚拟机的自动同步设置。这个坑很隐蔽数据源和账号都没问题就是连不上多半就是它。5. PowerBuilder 11.5 安装与使用避坑四个典型问题的现象、原因与处理5.1 安装进度条走一半自动回滚现象setup.exe 运行到“正在注册组件”或“正在配置系统”阶段进度条突然消失安装界面提示安装失败要求重启后再试重启后再次安装还是同样的位置回滚。原因这是最典型的 MSI 安装事务回滚多数时候是权限不足或临时目录不可写。老安装程序在写入Program Files和注册表时如果当前账户没有完全控制权限MSI 会把整个安装事务撤销。另一个常见原因是系统临时目录被安全软件锁定安装程序解压临时文件失败。解决检查当前用户是否为管理员右键 setup.exe → 以管理员身份运行再把TEMP和TMP环境变量改到C:\Windows\Temp之外的一个英文目录比如C:\Temp。如果依然回滚看事件查看器里MSIInstaller的日志找到具体失败的组件把它对应的服务或进程先停掉再装。5.2 双击 PB 图标没反应事件日志提示缺少 DLL现象安装过程顺利结束桌面也生成了 PowerBuilder 图标双击后界面闪一下就消失事件查看器里应用程序日志提示缺少某个 DLL 或运行库。原因这类情况有两种可能。第一种是杀毒软件在安装过程中隔离了 PB 的运行时文件常见文件名是带版本号的动态库第二种是安装包本身依赖的 Visual C 运行库没有装全11.5 年代的程序依赖 VC6 和 VC7 的运行库新系统上不会自动补装。解决先看杀毒软件的隔离区把被隔离的 PB 文件恢复并加入白名单再检查C:\Program Files (x86)\Sybase或你自定义的安装目录里文件是否都在。确认文件在位后安装对应版本的 VC 运行库常见的是 VC 2005 和 VC 2008 x86重开图标。如果还是闪退右键 exe → 兼容性 → 勾选“以兼容模式运行”并选 Windows XP SP3。这一步做完绝大多数闪退问题都能解决。5.3 连接 Oracle 报错驱动无法加载的三种常见原因现象ODBC DSN 配置正常在 PB 的 Database Profile 里测试连接提示无法加载驱动或者提示缺少 Oracle 客户端库。原因PB 11.5 里直接基于 OCI 的 Oracle 接口对 11g/12c 客户端兼容性差需要额外配置用 ODBC 方式连 Oracle 时驱动必须是 32 位版本。很多人装了 64 位 Oracle 客户端后32 位 ODBC 管理器里根本看不到 Oracle 驱动于是各种诡异报错。第三种常见原因是 tnsnames.ora 文件路径里带了中文或空格OCI 驱动解析时直接失败。解决卸载 64 位 Oracle 客户端安装 32 位 Oracle Instant Client再安装对应的 32 位 ODBC 驱动。配置tnsnames.ora时可以直接在 ODBC 数据源里指定连接字符串不需要依赖TNS_ADMIN环境变量。PB 端改用 ODBC 节点而不是ORACLE节点建 Profile避开 OCI 接口版本问题。安装完成后在 32 位 ODBC 管理器里重新创建数据源确认驱动能被选中再回 PB 测试。注意64 位 Oracle 客户端和 32 位 PB 是天生八字不合。既然 PB 是 32 位整个数据库访问链路就统一 32 位别混装。5.4 界面和报表中文乱码现象安装成功后PB 的菜单、工具栏、代码编辑器里的中文显示为方块或问号数据窗口预览时中文标题全部错位。原因PowerBuilder 11.5 的默认字体是MS Sans Serif这个字体在中文 Windows 上对中文支持不好尤其是代码编辑器里。另一方面如果操作系统的区域设置不是“中文简体中国”PB 内部对不同代码页的映射也会异常。解决在 PB 里打开 Design → Options找到字体设置把源代码编辑器、窗口标题、数据窗口文本的字体统一改成宋体或微软雅黑字号保持 9 或 10。这个配置存在pb.ini里如果公司内部有统一的 ini 模板直接拷贝替换省去一台台配置。数据窗口里的中文乱码还要检查数据库连接参数里的字符集设置确保 DSN 或连接字符串里指定了charsetGBK或UTF8和库端的NLS_LANGUAGE对齐。6. 验证安装是否成功的三个方法6.1 用 About 窗口核对版本号安装完先不急着写业务代码打开帮助菜单里的 About 对话框确认产品名是PowerBuilder 11.5 Classic而不是 .NET 版。About 窗口里能看到 build 号这个数字对应补丁级别和安装包是否带 EBF 直接相关。建议在维护笔记里记下这个 build 号以后客户现场环境出了问题先问他那边的 build 号两边基线不一致会有很多诡异行为——比如本地能跑、生产上编译报错。6.2 用最小 PowerScript 验证 IDE 与数据窗口创建一个空应用放一个按钮双击按钮写入一行最简单的脚本然后运行应用点击按钮弹出一个消息框MessageBox(验证, PowerBuilder 11.5 已安装并可运行)MessageBox是 PB 内置函数第一个参数是标题第二个是内容。如果弹窗正常、中文没有乱码IDE 的核心运行路径就验证通过了。接着拖一个数据窗口控件到窗口里挂上一个前面测试连接通过的 Database Profile在按钮事件里写long ll_rows ll_rows dw_1.rowcount() MessageBox(取数行数, string(ll_rows))dw_1是数据窗口控件名rowcount()返回当前结果集行数。能通过这行脚本取到数说明 DataWindow、数据库连接、ODBC 驱动整条链路都是通的这是 PB 项目里最重要的一条验证。到这里还没完——取到数不代表发布没问题继续往下做。6.3 编译发布到未装 PB 的机器上验证运行时维护老系统最怕的不是 IDE 起不来而是编译出来的 exe 到客户机器上缺这个缺那个。用 PB 的 Project 画笔新建一个应用项目设置发布目录和 exe 文件名点击 Build 编译。编译完成后把 exe 连同 PB 运行时文件一起复制到一台没装 IDE 的 Windows 机器上虚拟机即可双击运行看数据窗口能否正常打开和取数。运行时文件通常在安装目录的Runtime Pack子目录下把这些 DLL 和 exe 放在同一目录或者用安装器打到Program Files下就能跑。这套验证做完我一般会顺手把安装包、补丁、数据库客户端版本、build 号、ini 配置这些信息整理成一份交接文档——下次再有人遇到同样问题照着文档半小时就能复现环境不用再猜版本。老系统维护的难度从来不在于功能复杂而在于环境不可复现安装记录写得越细后面的坑越少。希望帮到你。本文还有配套的精品资源点击获取
返回列表