首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > PB >

怎么使编写的程序在别的电脑下运行

2012-12-29 
如何使编写的程序在别的电脑上运行本帖最后由 hyg2010 于 2011-08-07 14:29:53 编辑我用PB10.0写了个程序,

如何使编写的程序在别的电脑上运行
本帖最后由 hyg2010 于 2011-08-07 14:29:53 编辑 我用PB10.0写了个程序,用的是PB10自带的那个ASA数据库(在我自己的电脑上能够正常运行),请问如何把这个程序放到别的没有安装PB10.0的电脑上运行呢?
在没有安装PB的另外一台电脑上,我做了如下努力:

1.把程序和数据库文件(.db)和逻辑文件(.log)放到了另外一台电脑上.并在同一文件夹。
2.用PowerBuilder Runtime Packager生成了一个包,并且在另外一台电脑上安装了。
3.我打算设置ODBC数据源,但却发现没有ASA9的驱动。设置无法进行。
4.对此问题用百度进行了搜索,没找到满意的答案
5.搜索了CSDN相关的贴,但看后仍是一头雾水。


还望各位高手能够多多赐教,使我能够进行下去。不胜感激为盼!
[解决办法]
1.把数据库文件和.log文件放在一个文件夹 比如说 D:\dbma\tonny.db + tonny.log
2.注册ODBC数据源。你如果你安装了pb和自带的asa数据库的话,在ODBC中注册一个ASA的数据源,数据库的路径映射到 d:\dbma\tonny.db就可以了;如果没有asa驱动的话,找到pb的安装文件下面的SQL Anywhere 9\win32\dbodbc9.dll,做一个注册的窗口,注册实现就可以了,可以参照我下面的代码:
string ls_local_path
string ls_user_path
string ls_local_path1
string ls_user_path1
string ls_local_path2
string ls_user1
string ls_user2
string ls_install
string ls_instrans
string ls_reg_once
ls_reg_once="HKEY_LOCAL_MACHINE\Software\Yt validate T3"
registryset(ls_reg_once,"RUN",regstring!,"Y")
ls_user1="HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ODBC Data Sources"
ls_user2="HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ODBC Data Sources"
ls_local_path  ="HKEY_LOCAL_MACHINE\Software\ODBC\ODBC.ini\T3.1-up"
ls_local_path1="HKEY_LOCAL_MACHINE\Software\ODBC\ODBC.ini\T3.1-down"
ls_user_path  ="HKEY_CURRENT_USER\Software\ODBC\ODBC.ini\T3.1-up"
ls_user_path1="HKEY_CURRENT_USER\Software\ODBC\ODBC.ini\T3.1-down"
ls_local_path2="HKEY_USERS\S-1-5-21-3992001628-2338598895-2917826331-167080\Software\ODBC\ODBC.INI\ODBC Data Sources"
ls_install         ="HKEY_CURRENT_MACHINE\Software\ODBC\ODBCINST.INI\Adaptive Server Anywhere 9.0"
ls_instrans     ="HKEY_CURRENT_MACHINE\Software\ODBC\ODBCINST.INI\Adaptive Server Anywhere 9.0 Translator"

registryset(ls_install,"CPTimeout",regstring!,"<not pooled>")
registryset(ls_install,"Drivers",regstring!,gs_path+'dbma\dbodbc9.dll')
registryset(ls_install,"Setup",regstring!,gs_path+'dbma\dbodbc9.dll')
registryset(ls_instrans,"Drivers",regstring!,gs_path+'dbma\dbodbc9.dll')
registryset(ls_instrans,"Setup",regstring!,gs_path+'dbma\dbodbc9.dll')

ls_install    ="HKEY_CURRENT_MACHINE\Software\ODBC\ODBCINST.INI\ODBC Drivers"
ls_instrans="HKEY_CURRENT_MACHINE\Software\ODBC\ODBCINST.INI\ODBC Translators"

registryset(ls_install,'Adaptive Server Anywhere 9.0',regstring!,'Installed')
registryset(ls_instrans,'Adaptive Server Anywhere 9.0 Translator',regstring!,'Installed')

registryset(ls_local_path,"DataBaseFile",regstring!,gs_path+'\dbma\T3_up.db')
registryset(ls_local_path,"DataBaseName",regstring!,"T3_up")
registryset(ls_local_path,"Driver",regstring!,gs_path+'\dbma\dbodbc9.dll')
registryset(ls_local_path,"PWD",regstring!,"")
registryset(ls_local_path,"Start",regstring!,"")
registryset(ls_local_path,"UID",regstring!,"")

 registryset(ls_user_path,"DataBaseFile",regstring!,gs_path+'\dbma\T3_up.db')
 registryset(ls_user_path,"DataBaseName",regstring!,"T3_up")
 registryset(ls_user_path,"Driver",regstring!,gs_path+'\dbma\dbodbc9.dll')
 registryset(ls_user_path,"PWD",regstring!,"")
 registryset(ls_user_path,"Start",regstring!,"")
 registryset(ls_user_path,"UID",regstring!,"")
 
 registryset(ls_local_path1,"AutoStop",regstring!,"Yes")
registryset(ls_local_path1,"CommLinks",regstring!,"SharedMemory,TCPIP{host=192.168.1.3}")
registryset(ls_local_path1,"Compress",regstring!,"No")


registryset(ls_local_path1,"Driver",regstring!,gs_path+'\dbma\dbodbc9.dll')
registryset(ls_local_path1,"EngineName",regstring!,"T3.1-DOWN")
registryset(ls_local_path1,"Integrated",regstring!,"No")
//
registryset(ls_user_path1,"AutoStop",regstring!,"Yes")
registryset(ls_user_path1,"CommLinks",regstring!,"SharedMemory,TCPIP{host=192.168.1.3}")
registryset(ls_user_path1,"Compress",regstring!,"No")
registryset(ls_local_path1,"Driver",regstring!,gs_path+'\dbma\dbodbc9.dll')
registryset(ls_user_path1,"EngineName",regstring!,"T3.1-DOWN")
registryset(ls_user_path1,"Integrated",regstring!,"No")
 
 registryset(ls_local_path2,"T3.1-DOWN",regstring!,"Adaptive Server Anywhere 9.0")
 registryset(ls_local_path2,"T3.1-UP",regstring!,"Adaptive Server Anywhere 9.0")
 registryset(ls_user1,"T3.1-up",regstring!,"Adaptive Server Anywhere 9.0")
 registryset(ls_user1,"T3.1-down",regstring!,"Adaptive Server Anywhere 9.0")

[解决办法]
应该提示是没有该驱动的安装实例。
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\Adaptive Server Anywhere 9.0]
"Driver"="C:\\Program Files\\SQL Anywhere 9\\win32\\dbodbc9.dll"
"Setup"="C:\\Program Files\\SQL Anywhere 9\\win32\\dbodbc9.dll"
[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\ODBC Drivers]
"Adaptive Server Anywhere 9.0"="Installed"
把上面一段 拷贝到一个文本文档,另存.reg文件,双击就可以了,具体的路径设置成你具体的驱动路径就可以了。

热点排行