PB及ASA的打包说明

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" 
  就注册了 

你可能感兴趣的:(编程,数据库,PowerBuilder)