导航
  • 主页
  • API 调用
  • 基础类
  • 控件与界面
  • 数据库相关
  • DataWindow
  • 项目管理
  • Web 应用
  • 脚本语言

有关生成可执行文件的问题

athlonshi 2003-01-12 06:33:28
觉得pb这方面有点麻烦,特别是对我们这些初学者!
问高手几个问题。
1 设计程序的时候应用资源,需不需要把这些资源写成相对路径的形式,例如/images/logo.gif这样的!
2 因为本机数据库是用的odbc那么放到其他机子上面去岂不是要用户定义odbc才行,或者还有其他解决办法!
3 另外大家生成可执行文件的时候是用dll的方式,还是用伪码阿?
...全文
6 点赞 收藏 16
写回复
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
athlonshi 2003-01-14
我用的是手动设置数据源,可是设置好以后问题依旧!
应用程序没有问题,可是数据库窗口就会出错!程序自动退出!
我对比了两台机子上面的注册表current_machine下面的software的odbc我设置的数据源所有的键值都一样!
还是找不到问题所在!
对了,顺便说一下设置数据源用的是系统数据源,没有用用户数据源!

问题解决了我可以开个topic加分,谢谢各位了!
回复
athlonshi 2003-01-14
问题解决了
是少了odbc连接的dll文件
回复
jackygan 2003-01-12
可以用registerset()函数是新建数据源的,具体路径我在上面提到.
如果你在PB里可以连接,那么在注册表里一定有相应的一项,你看一下结构,再用PB写到注册表就可以了.
回复
athlonshi 2003-01-12
刚才又改了改,以为是SQLCA.database不应该设置路径于是改成SQLCA.dbpass了就是以下
SQLCA.DBMS = "ODBC"
SQLCA.dbpass="database\info.mdb"
SQLCA.AutoCommit = False
SQLCA.DBParm = "ConnectString='DSN=info;UID=;PWD=;'"
connect using SQLCA;
但是问题依旧!
到底哪出问题了呢?急!
回复
athlonshi 2003-01-12
你不会用数据源码?
ODBC
不好意思,因为初学还不是很懂你的意思!我用的是数据源阿!我在系统dsn里面添加了一个数据源,可是编译的时候具体应该怎么搞呢?
谢谢了,最好具体的说说我在application的open事件里面应该怎么写!
我现在写的是
SQLCA.DBMS = "ODBC"
SQLCA.database="database\info.mdb"
SQLCA.AutoCommit = False
SQLCA.DBParm = "ConnectString='DSN=info;UID=;PWD=;'"
connect using SQLCA;
请问还缺少些什么,很急!十分感谢!
回复
myclife 2003-01-12
你不会用数据源码?
ODBC
回复
athlonshi 2003-01-12
还是不行阿!
我把database\info.mdb
从pbr里面删除了,但是还是出现同样的问题,放其他机子上面就说找不到数据库
因为路径改变了!
唉!
到底怎么回事阿!
sqlca.database=" "我实在已经用了相对路径了阿!
回复
athlonshi 2003-01-12
你怎么把db文件也放到pbr里了?

不放就可以了吗?
我是试一试看行不行的说!
要是可以,我就采用ini的办法!
那我删除试一试!
回复
myclife 2003-01-12
你怎么把db文件也放到pbr里了?

建立一个数据源,命名无所谓。

在open中的
sqlca.database=...

=后面的的值用读ini得到,这样用不同的数据源名称不需要修改程序
回复
athlonshi 2003-01-12
我用的是access,然后我改了改程序
再application的open事件中写了SQLCA.DATABASE="database\info.mdb"
底下就是SQLCA PARM之类的
而且pbr文件中写了database\info.mdb
可是这样到人家机子上面使用还是不行阿!
为什么?
难道真的要用注册表!
我倒!
回复
jackygan 2003-01-12
如果你是SQLSERVER的话,那么是不用建立数据源的。
如果是anywhere的话,你也可以用registerset等函数写注册表。
关键字: HKEY_CURRENT_USER\SOFTWARE\ODBC\ODBC.INI\
回复
athlonshi 2003-01-12
可以用一个ini文件来设置ODBC
看了上面的ini文件的内容,这可以在应用程序打开的时候读取odbc的内容
但是如果用户的机子上面没有建立数据源,那我如何读取呢?
谢谢,请继续指教!
回复
jackygan 2003-01-12
1.写为相对路径是有必要的.
2.可以用一个ini文件来设置ODBC.
3.如果系统较小,可小采用伪码,因为运行速度较快。
如果系统较大,因为用户不用一次性把程序读入内存,故此我们可以采用动态库(dll),用户需要用到那一个模块时再由系统自动调用。
回复
lsycat 2003-01-12
编写ini文件。

如:
[Database]
DBMS="ODBC"
DataBase=
LogId=
LogPassword=
ServerName=
UserId=dba
DatabasePassword=
Lock=
DbParm="Connectstring='DSN=ca_rs;UID=dba;PWD=sql'"
AutoCommit=
回复
athlonshi 2003-01-12
可以在程序中自动建立ODBC连接
请问大侠这要怎么搞?
谢谢
回复
dotnba 2003-01-12
1、pbr资源文件主要用于图片处理。 比如:你可以将编译路径下所有的图片文件名写入PBR文件。这样你在变成的过程中就只要写相对路径就可以了。在发布系统的时候你就不必要带图片走了
2、可以在程序中自动建立ODBC连接
3、PB生成的应该不是真正的可执行文件。因为需要PB的虚拟机解释,也就是需要带上PBVMXX.DLL
回复
发动态
发帖子
PowerBuilder
创建于2007-09-28

803

社区成员

PowerBuilder 相关问题讨论
申请成为版主
社区公告
暂无公告