PB及ASA的打包說明

coolhe發表於2009-11-19

       
  PB及ASA的打包說明 
  一.安裝步驟 
  一般地說釋出一個PB應用除應用程式部件本身外,還應該包含如下檔案及相關操作: 
  1.  PowerBuilder執行時動態連結庫(  Runtime  Library  )。 
  2.  資料庫介面:一方面包括PB提供的資料庫專用介面或ODBC介面程式,另一方面包括不同資料庫廠商提供的ODBC資料庫驅動程式。 
  3.  ODBC資料來源的配置。 
  二.PowerBuilder執行時動態連結庫(  Runtime  Library  )。 
  不同版本的PB所需要的執行時動態連結庫檔案不盡相同,但庫名有相似的地方,這些DLL都必須包含在應用程式目錄或系統目錄當中: 
  PB6.5所需檔案: 
  必需  PBVM60.DLL  PowerBuilder  虛擬機器 
  可選  PBDWE60.DLL  DataWindow  資料視窗引擎 
  可選  PBRTC60.DLL  超文字控制元件 
  可選  PBTRA60.DLL  資料庫訪問跟蹤 
  可選  PBODB60.DLL  PB的ODBC介面 
  可選  PBIN760.DLL  INFORMIX  介面 
  可選  PBMSS60.DLL  Microsoft  SQL  Server介面 
  可選  PBSYC60.DLL  Sybase  SQL  Server介面 
  可選  PBO7360.DLL/PBO7260.DLL  Oracle  Version介面 
  PB7.0所需檔案: 
  必需  PBVM70.DLL  PowerBuilder  虛擬機器 
  必需  LIBJCC.DLL  PowerBuilder  庫管理 
  可選  PBDWE70.DLL  DataWindow  資料視窗引擎 
  可選  PBRTC70.DLL  超文字控制元件 
  可選  PBTRA70.DLL  資料庫訪問跟蹤 
  可選  PBODB70.DLL  PB的ODBC介面  
  可選  PBIN770.DLL  INFORMIX  介面 
  可選  PBMSS70.DLL  Microsoft  SQL  Server介面 
  可選  PBSYC70.DLL  Sybase  SQL  Server介面 
  可選  PBO7370.DLL/PBO8470.DLL  Oracle  Version介面 
  PB8.0所需檔案: 
  必需  PBVM80.DLL  PowerBuilder  虛擬機器 
  必需  LIBJCC.DLL  PowerBuilder  庫管理 
  可選  PBDWE80.DLL  DataWindow  資料視窗引擎 
  可選  PBRTC80.DLL  超文字控制元件 
  可選  PBTRA80.DLL  資料庫訪問跟蹤 
  可選  PBODB80.DLL  PB的ODBC介面  
  可選  PBIN780.DLL  INFORMIX  介面 
  可選  PBMSS80.DLL  Microsoft  SQL  Server介面 
  可選  PBSYC80.DLL  Sybase  SQL  Server介面 
  可選  PBO7380.DLL/PBO8480.DLL/PBO9080.DLL  Oracle  Version介面 
  以上檔案可以在C:\Program  Files\Sybase\Shared\PowerBuilder取得。 
   
  三.  SQL  Anywhere  ODBC資料庫驅動程式。 
  SQL  Anywhere  5.0: 
  DBTL50T.DLL 資料庫工具 
  DBL50T.DLL  資料庫介面 
  WODBC.HLP  幫助文件 
  WOD50T.DLL  ODBC  驅動 
  WL50ENT.DLL  英文字串 
  WTR50T.DLL  ODBC翻譯 
  DBENG50.EXE  資料庫引擎 
  SQL  Anywhere  6.0: 
  DBL60T.DLL,WODBC.HLP,WOD60T.DLL,WL60ENT.DLL,WTR60T.DLL,DBENG60.EXE 
  SQL  Anywhere  7.0: 
  DBODBC7.DLL,DBLIB7.DLL,DBWTSP7.DLL,DBLGEN7.DLL,DBODTR7.DLL,DBENG7.EXE 
  四.  ODBC資料來源配置。 
  在包含以上檔案之後,還必需對使用ODBC資料庫方式的應用進行ODBC資料來源的配置,以便在安裝完畢後應用程式可以直接訪問使用者資料來源。 
  下面以使用SQL  Anywhere  5.0資料庫建立的使用者資料庫為例來說明如何使用資料來源管理器進行ODBC的手工配置及如何在安裝程式中自動修改系統登錄檔,其他資料庫可以參考SQL  Anywhere  5.0進行操作。 
  1.使用資料來源管理器配置使用者資料來源。 
  1.1.  安裝SQL  Anywhere資料庫驅動程式,使資料來源管理器中的"ODBC驅動程式"頁增加一行SQL  Anywhere的驅動說明。 
  1.2.  在"使用者DSN"一頁選擇"新增",然後選擇SQL  Anywhere資料來源,出現資料來源的配置資訊表後,將資料來源名(Data  Source  Name),資料庫名(Database  File),使用者ID號(User  ID),使用者密碼(Password)等資訊添齊,選擇"OK"確認,此時在"使用者資料來源"的視窗中就會增加使用者的資料庫的ODBC驅動,選擇"確認"後退出資料來源管理器。 
  進行以上兩步以後重新啟動系統,使用者就可以在執行應用程式後使用SQL  Anywhere資料庫。 
  2.  修改系統登錄檔配置使用者資料來源。 
  (以下注:C:\YourApp為使用者應用程式目錄,C:\YourApp\Sqlany50為應用程式包含的SQL  Anywhere資料庫驅動檔案目錄,YourDB.DB為使用者資料庫。) 
  在HKEY_LOCAL_MACHINE\software\ODBC\ODBC  Drivers下,增加字串鍵值: 
  Sybase  SQL  Anywhere  5.0  =  "Installed" 
  在HKEY_LOCAL_MACHINE\software\ODBC\Sybase  SQL  Anywhere  5.0下,增加字串鍵值: 
  Driver  =  "C:\YourApp\Sqlany50\WOD50T.DLL" 
  Setup  =  "C:\YourApp\Sqlany50\WOD50T.DLL" 
  在HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ODBC  Data  Source下,增加字串鍵值: 
  TestDB  =  "Sybase  SQL  Anywhere  5.0" 
  在HKEY_CURRENT_USER\Software\ODBC\ODBC.INI下,增加主鍵:TestDB,並分別加入鍵值如下: 
  Autostop  =  "yes" 
  Databasefile  =  "C:\YourApp\YourDB.DB 
  Databasename  =  "TestDB" 
  Driver  =  "C:\YourApp\Sqlany50\WOD50T.DLL" 
  PWD  =  "sql" 
  Start  =  "C:\YourApp\Sqlany50\dbeng50.exe  -d  -c1024  -Q" 
  UID  =  "dba" 
  在使用者的安裝程式中將以上步驟加入,可以使使用者的應用程式在不必安裝SQL  Anywhere資料庫驅動下,也能直接訪問使用者資料來源,從而實現使用者應用程式的獨立釋出。 
  integer  rc 
  string  ls_dir,is_dbfile,is_datasource 
  ulong  ls_buf 
  is_datasource="graduate" 
  ls_buf=256 
  ls_dir=space(ls_buf) 
  GetCurrentdirectoryA(ls_buf,ls_dir) 
  is_dbfile=ls_dir+'\graduate.db' 
  rc=profileint("first.ini","start","first",0) 
  if  rc=1  then 
  if  RegistrySet("HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\"+"Adaptive  Server  Anywhere  7.0","Driver",RegString!,"dbodbc7.dll")=1  then 
  messagebox("恭喜你","資料來源已註冊成功!")   
  end  if 
  RegistrySet("HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\"+"Adaptive  Server  Anywhere  7.0","Setup",RegString!,"dbodbc7.dll") 
  RegistrySet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ODBC  Data  Sources","graduate",RegString!,"Adaptive  Server  Anywhere  7.0") 
  RegistrySet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\"+is_datasource,"Driver",RegString!,"dbodbc7.dll") 
  RegistrySet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\"+is_datasource,"UID",RegString!,"dba") 
  RegistrySet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\"+is_datasource,"PWD",RegString!,"sql") 
  RegistrySet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\"+is_datasource,"DatabaseFile",RegString!,is_dbfile) 
  RegistrySet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\"+is_datasource,"AutoStop",RegString!,"Yes") 
  RegistrySet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\"+is_datasource,"Integrated",RegString!,"No") 
  RegistrySet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\"+is_datasource,"DatabaseName",RegString!,"graduate.db") 
  RegistrySet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\"+is_datasource,"Debug",RegString!,"No") 
  RegistrySet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\"+is_datasource,"DisableMultiRowFetch",RegString!,"No") 
  setprofilestring("first.ini","start","first","0") 
  end  if 
  只需要把datasource等幾個地方改一下就可以了 
  其中的graduate是我的資料庫名 
  if  RegistrySet("HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\"+"Adaptive  Server  Anywhere  7.0","Driver",RegString!,"dbodbc7.dll")=1 
  這一句就是driver的配置 
  上述連線為程式碼實現,下面的是由打包程式實現的登錄檔項 
  有兩中連線 
  1.本地連線 
  [HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ASA  8.0  Sample] 
  "Driver"="C:\\Program  Files\\Sybase\\SQL  Anywhere  8\\win32\\dbodbc8.dll" 
  "Description"="Adaptive  Server  Anywhere  Sample  Database" 
  "UID"="dba" 
  "PWD"="sql" 
  "EngineName"="asademo8" 
  "DatabaseFile"="C:\\Program  Files\\Sybase\\SQL  Anywhere  8\\asademo.db" 
  "Start"="C:\\Program  Files\\Sybase\\SQL  Anywhere  8\\win32\\dbeng8.exe  -c  8m" 
  "AutoStop"="yes" 
  START項有許多引數,“-C  8M”設定初始快取記憶體大小8M,一般建議64M。“-Q”安靜模式  —  取消輸出,就是系統拖盤中不顯示資料庫引擎圖表。‘-D’禁用非同步  I/O  [Windows  NT  、NetWare]。‘-M’對於所有資料庫,在每個檢查點之後截斷事務日誌。 
  2.網路連線 
  [HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ASA  8.0  Client  Sample] 
  "Driver"="C:\\Program  Files\\Sybase\\SQL  Anywhere  8\\win32\\dbodbc8.dll" 
  "Description"="Adaptive  Server  Anywhere  Sample  Client" 
  "UID"="dba" 
  "PWD"="sql" 
  "EngineName"="asademo8" 
  "CommLinks"="TCPIP{}" 
  "AutoStop"="yes" 
  注意:如果你要在WINDOWS的ODBC中看到的分發的資料庫,還要以下的資訊 
  [HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ODBC  Data  Sources] 
  "ASA  8.0  Client  Sample"="Adaptive  Server  Anywhere  8.0"(網路連線) 
  "ASA  8.0  Sample"="Adaptive  Server  Anywhere  8.0"(本地連線) 
  [HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\Adaptive  Server  Anywhere  8.0] 
  "Driver"="C:\\Program  Files\\Sybase\\SQL  Anywhere  8\\win32\\dbodbc8.dll" 
  "Setup"="C:\\Program  Files\\Sybase\\SQL  Anywhere  8\\win32\\dbodbc8.dll" 
  該註冊項為你分發DLL的實際路徑。 

還要解釋 
  "HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\" 
  新增 
  鍵名:"Adaptive  Server  Anywhere  8.0  "    值:"Installed" 
  就註冊了 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/3090/viewspace-620020/,如需轉載,請註明出處,否則將追究法律責任。

相關文章