前往Shuct.Net首页

Shudepb PB反编译专家长时间以来,为业内同类软件事实上的唯一选择.细节,彰显专业.态度,决定品质.

关于PowerBuilder的搜索

PB及ASA数据库程序的发布(转载) - yishanhai的专栏 - 博客频道 - CSDN.NET yishanhai的专栏 勇者无敌的历程 目录视图 摘要视图 订阅 新年新气象------CSDN2014新版导航就要跟大家见面了 2014年1月微软MVP当选名单揭晓! “我的2013”年度征文活动火爆进行中! 专访何海涛:“不正经”程序员的进阶之路 PB及ASA数据库程序的发布(转载) 分类: pb历程 2008-11-02 20:34 1215人阅读 评论(0) 收藏 举报 数据库PowerBuilderpropertiesapplicationdatabasewizard 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()等函数时无法获得正确的执行路径。 至于其他的打包程序网上多有资料介绍,按照帮助慢慢实验即可完成。 更多 上一篇:pb根据sql语句生成数据窗口 下一篇:pb 的数据管道问题 查看评论 * 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场 核心技术类目 全部主题 Java VPN Android iOS ERP IE10 Eclipse CRM JavaScript Ubuntu NFC WAP jQuery 数据库 BI HTML5 Spring Apache Hadoop .NET API HTML SDK IIS Fedora XML LBS Unity Splashtop UML components Windows Mobile Rails QEMU KDE Cassandra CloudStack FTC coremail OPhone CouchBase 云计算 iOS6 Rackspace Web App SpringSide Maemo Compuware 大数据 aptech Perl Tornado Ruby Hibernate ThinkPHP Spark HBase Pure Solr Angular Cloud Foundry Redis Scala Django Bootstrap 个人资料 yishanhai 访问:64327次 积分:1403分 排名:第8542名 原创:71篇 转载:40篇 译文:0篇 评论:11条 文章搜索 文章分类 .net技术(12) Linux(0) pb历程(4) Web开发(5) 业务(4) 图形图像(0) 算法学习(0) 网吧专栏(0) 路由方案(RouterOS、linux)(0) 软件工程(2) 文章存档 2010年12月(1)2009年06月(1)2009年03月(6)2009年01月(7)2008年12月(14)2008年11月(55)2008年10月(8)2008年09月(10)2008年07月(2)2007年08月(4)2007年01月(1)2006年05月(1)2006年04月(1) 阅读排行 U8 系统篇(9286) [翻译]pb技巧、代码和实用工具[程序员家园论坛](3449) PB窗口之间传递多参数的方法 (2041) PB编程,API函数和PB编程绝招(2036) PB中调用pdf.ocx控件能否将文件转成PDF文件?急!!!(2015) PB编程,API函数和PB编程绝招_这是个大贴,学习用[二](1977) pb数据窗口技巧38个(1945) u8维护_进销存(1944) 史上最全的Formula one的属性与方法(1656) u8维护_财务篇(1222) 评论排行 [翻译]pb技巧、代码和实用工具[程序员家园论坛](2) PB窗口之间传递多参数的方法 (2) 史上最全的Formula one的属性与方法(1) 企业库应用实践系列一:创建第一个自己的Application Block _转http://www.cnblogs.com/lvwuhuijun/articles/1366094.html(1) pb的存储过程生产数据窗口(1) PB编程,API函数和PB编程绝招(1) 比较C#中抽象类(abstract class)和接口(interface)的异同(1) 对象之间的关系有哪些,如何使用面向对象语言表达(1) 采用的软件架构分为几个层次,各层的作用是什么(1) 一个程序员的成长的六个阶段(0) 推荐文章 最新评论 PB窗口之间传递多参数的方法 shao_qingzhang: 如果传递一个字符串给一个main窗口,在main窗口中用你这种方法怎么接收不到呢?传给pop窗口和r... PB编程,API函数和PB编程绝招 fugees: 这个倒是很实用。 对象之间的关系有哪些,如何使用面向对象语言表达 rs9036: 例子~~给个呗 PB窗口之间传递多参数的方法 crosscountry: [翻译]pb技巧、代码和实用工具[程序员家园论坛] vip836767134: 纯PB源码企业即时通讯EIM2010上线,绝对精品。类似QQ、IM等即时通讯http://topic... 采用的软件架构分为几个层次,各层的作用是什么 匿名用户: 请问高层协议分哪几种类型 企业库应用实践系列一:创建第一个自己的Application Block _转http://www.cnblogs.com/lvwuhuijun/articles/1366094.html 匿名用户: [翻译]pb技巧、代码和实用工具[程序员家园论坛] guostar: BU错看看 史上最全的Formula one的属性与方法 cimchengzi: 太好了,正在找,非常感谢~ 比较C#中抽象类(abstract class)和接口(interface)的异同 happytor: interface可以有属性?