PB及ASA数据库程序的发布


PB及ASA数据库程序的发布(转载)
分类: pb历程 1918人阅读 评论(0) 收藏 举报

PB及ASA数据库程序的发布(转载)

使用Powerbuilder 9.0和ASA 8.0写了一个简单的软件包管理系统,在发布的过程中遇到很多问题,花一上午时间得以解决。记录之,以备后查。

数据库移植

首先,将所要移植的数据库日志文件(*.log)的路径改为相对于数据文件(*.db)的相对路径,而不是使用绝对路径。只有如此修改,数据库文件才可拷贝至其他位置并设置为数据源,否则在连接数据库时会提示“Unable to connect database server:Specified database is invalid”。具体步骤如下:

Sybase Central –> Tools –> Adaptive Server Anywhere 8 –> Change Log File Settings

在此修改路径,如原路径为“D:/SPMS/spms.log”,现可修改为“spms.log”,即表示spms.log应与spms.db在同一文件夹下。

亦可设置为不生成日志文件,但不推荐。因为,若数据库因意外(机器断电)等引起数据故障,系统会自动利用日志文件来恢复数据库。

将前述两文件拷贝至他处,并设置为数据源,测试程序是否能正常连接。

数据库运行环境搭建

上述操作均在开发环境下进行,而我们同样需要在应用环境下不安装ASA服务器端/客户端,而连接到数据库。

Adaptive Server Anywhere 8.0 数据库的正常运行需要6个文件的支持,为dbcon8.dll、dbctrs8.dll、dbeng8.exe、dblgen8.dll、 dbodbc8.dll、dbserv8.dll,将这6个文件与数据库文件一起拷贝到应用环境中。

我的程序是使用ODBC与ASA数据库相连,则还需在注册表中设置ODBC用户数据源。

注册表示例可在此浏览,其中{app}应替换为应用环境中实际拷贝的位置。导入注册表项后,测试数据库是否可正常工作(Test Connection)。

可执行文件生成

Powerbuilder工程生成可执行文件一般是通过Application Wizard来完成的,这点在大部分讲述PB基础的书籍中都有详细解释,此处不再赘述,仅将我遇到的两个问题解释下。

1. 如何修改PB生成的可执行文件图标?

在应用程序对象(Application)的属性界面(Properties –> Additional Properties –> Icon)设置图标,建议使用相对路径。

2. 如何使用资源文件(*.pbr)?

方法很简单,将所需要用到的图标、图像文件等的文件名按照每行一个的格式保存至一个txt中(可使用命令 dir /b > list.txt 将某文件夹下的所有文件名输出到list.txt中),修改后缀名为pbr,并在Resource File Name中选择该资源文件,Deploy即可。

注意:此处写入pbr的文件名应与程序中调用的文件名完全一致,比如pbr中写有search.gif,则在menu的toolbar中icon路径应写为search.gif,而不是绝对路径。

PB程序运行环境搭建

Powerbuilder 9.0 数据库的正常运行需要4个文件的支持,为libjcc.dll、pbdwe90.dll、pbodb90.dll、pbvm90.dll,将这4个文件与可执行文件一起拷贝到应用环境中。

若运行应用程序提示“dbms odbc is not supported in your current installation”,则应检查pbodb90.dll(ODBC接口连接用动态链接库)是否存在。

生成安装文件

我使用的是Inno Setup配合ISTool来生成安装文件的,此工具具有图形化设置界面,操作简便,功能强大,推荐使用。这是我生成的脚本,可供参考。

需注意的有一点,桌面快捷方式的Flag应选中“Use app paths”,以避免应用程序使用GetCurrentDirectory()等函数时无法获得正确的执行路径。

至于其他的打包程序网上多有资料介绍,按照帮助慢慢实验即可完成。

相关推荐
<p> <strong><span style="background-color:#FFFFFF;color:#E53333;font-size:24px;">本页面购买不发书!!!仅为视频课购买!!!</span></strong> </p> <p> <strong><span style="color:#E53333;font-size:18px;">请务必到</span></strong><a href="https://edu.csdn.net/bundled/detail/49?utm_source=banner"><strong><span style="color:#E53333;font-size:18px;">https://edu.csdn.net/bundled/detail/49</span></strong></a><strong><span style="color:#E53333;font-size:18px;">下单购买课+书。</span></strong> </p> <p> <span style="font-size:14px;">本页面,仅为观看视频页面,如需一并购买图书,请</span><span style="font-size:14px;">务必到</span><a href="https://edu.csdn.net/bundled/detail/49?utm_source=banner"><span style="font-size:14px;">https://edu.csdn.net/bundled/detail/49</span></a><span style="font-size:14px;">下单购买课程+图书!!!</span> </p> <p> <br /> </p> <p> <span style="font-size:14px;">疯狂Python精讲课程覆盖《疯狂Python讲义》全书的主体内容。</span> </p> <span style="font-size:14px;">内容包括Python基本数据类型、Python列表、元组和字典、流程控制、函数式编程、面向对象编程、文件读写、异常控制、数据库编程、并发编程与网络编程、数据可视化分析、Python爬虫等。</span><br /> <span style="font-size:14px;"> 全套课程从Python基础开始介绍,逐步步入当前就业热点。将会带着大家从Python基础语法开始学习,为每个知识点都提供对应的代码实操、代码练习,逐步过渡到文件IO、数据库编程、并发编程、网络编程、数据分 析和网络爬虫等内容,本课程会从小案例起,至爬虫、数据分析案例终、以Python知识体系作为内在逻辑,以Python案例作为学习方式,最终达到“知行合一”。</span><br />
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页