一个关于编译的问题

伟大的左前卫 2004-08-30 01:51:39
PB程序编译后,运行的时候还是要启动ASA数据库,如何在没有安装ASA的机器上运行呢?
...全文
138 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
伟大的左前卫 2004-09-01
  • 打赏
  • 举报
回复
谢谢,各位的意思是说,在安装程序中要实现向注册表写如以上信息的步骤对吗?
jdsnhan 2004-09-01
  • 打赏
  • 举报
回复
那样当然最好了。
skingddddd 2004-08-31
  • 打赏
  • 举报
回复
UP
yky890 2004-08-31
  • 打赏
  • 举报
回复
TGWall(我到长城(岁岁花似人不同,过好今天)) 说的对,
要向注册表中写!!
TGWall 2004-08-31
  • 打赏
  • 举报
回复
可以写注册表
伟大的左前卫 2004-08-30
  • 打赏
  • 举报
回复
还是不太明白。按楼上的说法,是不是包含那几个DLL文件,就可以直接访问数据源,而不再需要安装ASA了呢?
10975037 2004-08-30
  • 打赏
  • 举报
回复
经过编译生成的PowerBuilder应用程序需要如下运行环境:
PowerBuilder 运行时动态连接库( Runtime Library )
在PowerBuilder 6.0中需要如下DLL库:
PBVM60.DLL (PowerBuilder 虚拟机)(必需)
PBDWE60.DLL (DataWindow 引擎)(可选)
PBRTC60.DLL (Rich Text Control)(可选)
PBTRA60.DLL (DLL used for tracing db calls)(可选)
与所需连接的数据库的直连接口(Native Driver) 或 ODBC接口(ODBC Driver)
PBSYC60.DLL (连接Sybase 的直连接口)
PBO7360.DLL (连接Oracle7.3的直连接口)
所需连接的数据库的Client端(如Sybase的Open Client, Oracle 的SQL Net) 以上是Sybase公司的建议。
我的经验是,编译好的程序必须有pbdwe60.dll和pbvm60.dll才行。
另外,如果使用ODBC联结数据库则还需pbodb60.dll,如果使用的专用接口,则需对应数据库的DLL,如Oracle7.3用PBO7360.DLL,Sybase用PBSYC60.DLL
嘘嘘兔 2004-08-30
  • 打赏
  • 举报
回复
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. 修改系统注册表配置系统数据源。
(以下注:以WIN98下的注册表为例,括号内的为WIN2000下的注册表数值,C:\YourApp为用户应用程序目录,C:\YourApp\Sqlany50为应用程序包含的SQL Anywhere数据库驱动文件目录,YourDB.DB为用户数据库。)

在HKEY_LOCAL_MACHINE\software\ODBC\ODBC Drivers(ODBCINST.INI\ODBC Drivers)下,增加字符串键值:
Sybase SQL Anywhere 5.0 = "Installed"

在HKEY_LOCAL_MACHINE\software\ODBC\Sybase SQL Anywhere 5.0(ODBCINST.INI\Sybase SQL Anywhere 5.0)下,增加字符串键值:
Driver = "C:\YourApp\Sqlany50\WOD50T.DLL"
Setup = "C:\YourApp\Sqlany50\WOD50T.DLL"

在HKEY_LOCAL_MACHINE\Software\ODBC\ODBC.INI\ODBC Data Source下,增加字符串键值:
TestDB = "Sybase SQL Anywhere 5.0"

在HKEY_LOCAL_MACHINE\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数据库驱动下,也能直接访问系统数据源,从而实现用户应用程序的独立发
fibbery 2004-08-30
  • 打赏
  • 举报
回复
过去有好多帖子可以帮你解决这个问题。查一下。
sywen 2004-08-30
  • 打赏
  • 举报
回复
odbc好像没有带ASA的驱动程序,好像一定要安装安装ASA才能运行.

1,108

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧