热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

PB及ASA数据库程序的发布

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


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

数据库powerbuilderpropertiesapplicationdatabasewizard


目录(?)[+]

  1. 数据库移植
  2. 数据库运行环境搭建
  3. 可执行文件生成
  4. PB程序运行环境搭建
  5. 生成安装文件



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()等函数时无法获得正确的执行路径。

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



推荐阅读
  • 应用程序配置详解
    本文介绍了配置文件的关键特性及其在不同场景下的应用,重点探讨了Machine.Config和Web.Config两种主要配置文件的用途和配置方法。文章还详细解释了如何利用XML格式的配置文件来调整应用程序的行为,包括自定义配置、错误处理、身份验证和授权设置。 ... [详细]
  • Redis 教程01 —— 如何安装 Redis
    本文介绍了 Redis,这是一个由 Salvatore Sanfilippo 开发的键值存储系统。Redis 是一款开源且高性能的数据库,支持多种数据结构存储,并提供了丰富的功能和特性。 ... [详细]
  • scrapyredis分布式爬虫 ... [详细]
  • 本文介绍了Windows驱动开发的基础知识,包括WDF(Windows Driver Framework)和WDK(Windows Driver Kit)的概念及其重要特性,旨在帮助开发者更好地理解和利用这些工具来简化驱动开发过程。 ... [详细]
  • Linux环境下PostgreSQL的安装、配置及日常管理
    本文详细介绍了在Linux环境下安装、配置PostgreSQL数据库的过程,包括环境准备、安装步骤、配置数据库访问以及日常服务管理等方面的内容。适合初学者和有一定经验的数据库管理员参考。 ... [详细]
  • 本文探讨了Go语言(Golang)的学习价值及其在Web开发领域的应用潜力,包括其独特的语言特性和为什么它是现代软件开发的理想选择。 ... [详细]
  • 使用Python模拟登录教务系统抓取成绩并分析存储
    本文详细介绍如何使用Python编程语言模拟登录学校教务系统,抓取学生的成绩信息,并进行数据分析和可视化处理,最终将数据存储到MySQL数据库中。 ... [详细]
  • 本文详细介绍了RPM包构建过程中Spec文件的结构和各部分的作用,包括包描述、准备阶段、构建过程、安装步骤、清理操作以及文件列表等关键环节。同时,提供了关于RPM宏命令、打包目录结构及常见标签的深入解析。 ... [详细]
  • 解决PHP与MySQL之间的编码不匹配问题
    探讨如何有效解决PHP与MySQL之间常见的编码问题,确保数据的正确传输与显示。 ... [详细]
  • 本文探讨了在一个多对一关系中保存和删除对象时遇到的问题,并提供了解决方案。具体问题表现为能够成功添加对象,但在尝试删除时,虽然对象从集合中移除,但更改未同步到数据库。 ... [详细]
  • 本文介绍如何配置SQL Server以实现数据库的远程备份,包括建立网络映射、执行备份操作以及自动化的备份任务设置。 ... [详细]
  • 本文详细分析了一个生产系统中遇到的 Apache Axis2 403 Forbidden 错误,并提供了具体的排查步骤和解决方案。 ... [详细]
  • 开发笔记:Mongodb副本集集群搭建 ... [详细]
  • 本文档详细介绍了如何管理和监控MySQL数据库的连接情况,包括查询当前连接状态、统计连接信息以及如何安全地中断异常连接等关键操作。 ... [详细]
  • VSCode中实现大型项目函数跳转的方法
    在处理大型代码项目时,简单的C/C++插件往往无法满足需求。本文介绍如何通过配置GNU Global等工具,在VSCode中实现高效的函数跳转。 ... [详细]
author-avatar
独孤求独孤_715
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有