熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> SQL語言 >> 正文

如何發布獨立的POWERBUILDER應用

2013-11-13 12:35:36  來源: SQL語言 
  摘要本文介紹了發布獨立的POWERBUILDER應用所需要的驅動程序以及相關設置特別介紹使用Powersoft的本地數據庫產品SQL Anywhere作為數據源的應用如何將其包含在發行當中

  一.前言

  PowerBuilder(PB)是SYBASE 公司的下屬公司Powersoft公司推出的新一代數據庫應用開發工具由於其功能強大開發快速及支持多平台等而頗受廣大編程技術人員的歡迎隨著有關PB的應用推廣使用相關資料也紛紛面世同時PowerSoft為適應開發的需要也不斷的推出PB的更新版本PB作為第四代語言的數據庫開發工具在開發工具市場中占有相當高的比例

  在使用PB進行開發的過程中不少開發者在感受PB帶來的快速強大的功能愉悅的同時也深感在發布應用時PB存在的不便之處

  首先PB在編譯完成後的執行文件不能獨立運行必須包含PB的運行時庫文件以及數據庫驅動文件網絡驅動文件等

  其次在包含這些文件時必須十分清楚各個運行時庫文件的用途不同數據庫對應的數據驅動的動態鏈接庫文件集等但往往這方面的資料卻非常難得因而一個本來非常精簡的PB應用在打包發布後卻顯得非常臃腫

  本文旨在講敘針對在Windows/下用PB開發的使用Powersoft的SQL Anywhere數據庫作為本地數據庫的應用的發布過程闡明如何為PB的應用發布減肥特別要說明的是如何將SQL Anywhere 數據庫精簡後包含在應用當中並如何配置其數據源而不用再另外安裝SQL Anywhere作為本地數據庫的驅動

  一般地說發布一個PB應用除應用程序部件本身外還應該包含如下文件及進行相關操作

  . PowerBuilder運行時動態鏈接庫( Runtime Library )

  . 數據庫接口一方面包括PB提供的數據庫專用接口或ODBC接口程序另一方面包括不同數據庫廠商提供的ODBC數據庫驅動程序

  . ODBC數據源的配置

  . 如果是采用C/S方式包含數據庫廠商的Client端例如SYBASE公司的Open Client 及ORALCLE公司的SQL*Net

  就本文而言我們只重點討論現分別闡述如下

  二.PowerBuilder運行時動態鏈接庫( Runtime Library )

  不同版本的PB所需要的運行時動態鏈接庫文件不盡相同但庫名有相似的地方這些DLL都必須包含在應用程序目錄或系統目錄當中對於Windows下位的應用程序必須一起發行的運行時庫是PBVM.DLL其他部件可選對於Windows下位的應用程序必須一起發行的運行時庫是PBVMW.DLL總之PB版本相對於PB及以前版本運行時庫的數量減少了很多這也有利於開發人員對應用程序打包發行現以PB運行在位WINDOWS/為例說明詳細解釋見下表

序號 文件 用途 備注 PBVMDLL PowerBuilder 虛擬機 必需 PBDWEDLL DataWindow 數據窗口引擎 可選 PBRTCDLL Rich Text Control管道超文本控件 可選 PBTRADLL DLL used for tracing db calls數據庫訪問跟蹤 可選表

  三. 數據庫接口

  所有數據庫接口文件及驅動程序必需放在應用程序目錄或系統目錄中

  . PB專用數據庫接口及ODBC數據庫接口

  在WINDOWS/下用戶可以根據自己采用的不同數據庫在發布應用程序時包含下列接口文件見下表所示

序號 數據庫 接口文件 Powersoft ODBC Interface PBODBDLLPBODBINI INFORMIX INet PBINDLL INFORMIX INet PBINDLL Microsoft SQL Server x DBLib PBSYBDLLPBDBLDLL
Microsoft SQL Server PBMSSDLL Oracle Version PBMSSDLL Oracle Version PBODLL Oracle Version PBODLL IBM databases PBIBMWDLL Sybase Information CONNECT DB Gateway PBMDIDLLPBDBLDLL Sybase NetGateway for DB PBNETDLLPBDBLDLL Sybase SQL Server x DBLib PBSYTDLLPBDBTDLL Sybase SQL Server x and x CTLib PBSYCDLL表

  . 第三方廠商提供的ODBC數據庫驅動程序

  如果用戶的數據庫采用ODBC數據庫驅動方式這種數據庫的連接方式較專用數據庫接口復雜並且連接使用的效率也比專用數據庫低因此除要了包含上面講到的Powersoft ODBC Inerface 接口文件外即PBODBDLL及PBODBINI兩個文件還必需在WINDOWS目錄中存在ODBCINSTINI及ODBCINI 文件 及 Microsoft ODBC 驅動程序及相關DLL另外就是要包含各個數據庫廠商提供或支持的ODBC數據庫驅動程序下面列出部分數據庫廠商的驅動程序如下表

序號 數據庫 驅動程序 Text PBTXTDLLPBTXTHLPPBTXTDLLPBTXTHLP DB PBDBDLLPBDBDLLPBDBDLLPBDBDLL Btrieve PBBTRDLLWBTRCALLDLLPBBTRHLP
PBBTRDLLPBBTRHLP dBASE PBDBFDLLPBDBFHLPPBDBFDLLPBDBFHLP Paradox / PBIDPDLLPBBASDLLPBDBCDLLPBFLTDLL
PBUTLDLLPBIDPHLPIVTRNDLLIVPBLIC SQL Anywhere WODWDLLWLENDLLWODBCHLPWODBCHLPWODTDLLWLENTDLLWTRTDLLWODBCHLP表

  四. ODBC數據源配置

  在包含以上文件之後還必需對使用ODBC數據庫方式的應用進行ODBC數據源的配置以便在安裝完畢後應用程序可以直接訪問用戶數據源以下介紹的數據源配置原理及方法由於涉及到修改系統注冊表可以使用手工方式實現也可以在制作應用程序的安裝盤時在安裝步驟中設置好ODBC數據源的配置涉及到微軟的ODBC驅動程序及相關動態鏈接庫此部件可以在安裝WINDOWS/時作為系統的一部分裝入機器並在控制面板中可以找到 bit ODBC(位ODBC)數據源管理器項並使用其進行操作

  下面以使用SQL Anywhere 數據庫創建的用戶數據庫為例來說明如何使用數據源管理器進行ODBC的手工配置及如何在安裝程序中自動修改系統注冊表其他數據庫可以參考SQL Anywhere 進行操作首先列出SQL Anywhere 數據庫必需的最精簡的文件清單見表:

序號 文件 作用 類型 WODTDLL SQL Anywhere ODBC 驅動 ODBC驅動 DBLTDLL 數據庫接口動態鏈接庫 數據庫文件 WLENTDLL 數據庫接口的英文字符串   WTRTDLL ODBC翻譯動態鏈接庫   WODBCHLP 配置ODBC的幫助文件   DBENGEXE 數據庫引擎  表

  .使用數據源管理器配置用戶數據源

   安裝SQL Anywhere數據庫驅動程序使數據源管理器中的ODBC驅動程序頁增加一行SQL Anywhere的驅動說明

  用戶DSN一頁選擇添加然後選擇SQL Anywhere數據源出現數據源的配置信息表後將數據源名(Data Source Name)數據庫名(Database File)用戶ID號(User ID)用戶密碼(Password)等信息添齊選擇OK確認此時在用戶數據源的窗口中就會增加用戶的數據庫的ODBC驅動選擇確認後退出數據源管理器

  進行以上兩步以後重新啟動系統用戶就可以在運行應用程序後使用SQL Anywhere數據庫

   修改INI文件及系統注冊表配置用戶數據源(以下注C:\TestApp為用戶應用程序目錄C:\TestApp\Sqlany為應用程序包含的SQL Anywhere數據庫驅動文件目錄TestDBDB為用戶數據庫)
  
   修改ODBCINSTINI文件:

  在[ODBC Drivers] 節中增加一行:Sybase SQL Anywhere = Installed增加一節[Sybase SQL Anywhere ] 並在此節中加入:

  Setup = C:\TestApp\Sqlany\WODWDLL
  Driver = C:\TestApp\Sqlany\WODWDLL

   修改ODBCINI文件

  在[ODBC Data Sources]節中增加一行TestDB = Sybase SQL Anywhere  
增加一節[TestDB]並在此節中加入:Driver = C:\TestApp\Sqlany\WODWDLL

   修改系統注冊表

  在HKEY_CURRENT_USER\Software\ODBC\ODBCINI\ODBC Data Source下增加字符串鍵值

名稱 數值 TestDB Sybase SQL Anywhere

  在HKEY_CURRENT_USER\Software\ODBC\ODBCINI下增加主鍵:TestDB並分別加入鍵值如下:

名稱 數值 Autostop yes Databasefile C:\TestApp\TestDBDB Databasename TestDB Driver C:\TestApp\Sqlany\WODTDLL PWD sql Start C:\TestApp\Sqlany\dbengexe d c UID dba

  在用戶的安裝程序中將以上步驟加入可以使用戶的應用程序在不必另安裝SQL Anywhere數據庫驅動也能直接訪問用戶數據源這也是講述這一部分內容的目的即要將SQL Anywhere數據庫的必需文件包含發行並在安裝過程中修改INI文件及系統注冊表配置數據源從而實現用戶應用程序獨立發布

  當然以上提及的僅僅是針對性很強的用戶環境其他版本的PB發行可以參考以上所述進行希望本文能給讀者帶來一點點啟發或價值由於作者撰稿倉促難免有疏漏之處懇請讀者諒解


From:http://tw.wingwit.com/Article/program/SQL/201311/16204.html
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.