社区
PowerBuilder
帖子详情
PB生成EXE文件后,能运行。但在登录窗口录入用户名时连不上SQL--请教!!!
ljlj
2006-01-18 06:19:25
第一次试打包成EXE文件后,搜索之前贴子发现所说的DLL,都已经拷贝到程序所在的目录下。但是运行EXE就发现连不上SQL2000。
不知道少了什么文件。
...全文
324
21
打赏
收藏
PB生成EXE文件后,能运行。但在登录窗口录入用户名时连不上SQL--请教!!!
第一次试打包成EXE文件后,搜索之前贴子发现所说的DLL,都已经拷贝到程序所在的目录下。但是运行EXE就发现连不上SQL2000。 不知道少了什么文件。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
21 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ljlj
2006-02-06
打赏
举报
回复
各位朋友,新年好。
加上MESSAGEBOX,问题还是一样。 我会继续关注此问题,给用户使用现只好折中处理,在用户的电脑上编译打包,安装PB9的运行环境先交付用户使用。
假设我发现问题的所在,会发贴说一声。
谢谢大家的支持。
zaodt
2006-02-05
打赏
举报
回复
如果用了 DataStore ,则在编译时需要资源文件,如果没有的话,也会出现类似的问题。
lucylu0726
2006-02-05
打赏
举报
回复
我觉得应该是dll文件路径有问题吧!
关注。。
zoe217
2006-02-04
打赏
举报
回复
少了连接数据库的dll文件,不需要在程序中加代码,只需要将.dll拷贝到exe的同一目录即可。若需要详细的dll文件,可以联系我,zoe217@tom.com
bjuwy
2006-02-04
打赏
举报
回复
如果你安装了MS SQLSERVER的话,请在程序目录下将与MS SQLSERVER相关的DLL文件删除
有了还打不开程序
wxwx7911
2006-02-02
打赏
举报
回复
我也认为是你的 li_dir =GetCurrentDirectory() 有问题,设置一个messagebox 看看
大师归来
2006-01-25
打赏
举报
回复
如果都拷过去了,还不行的话,那就是你程序有BUG了,找一下吧,应该不难的!
twht
2006-01-25
打赏
举报
回复
会不会是你的当前目录有问题。。。
你试着在程序里加上一句话:
messagebox("li_dir",li_dir)
看看是不是你指定的那个li_dir
另外就是试着看看,看看每个SQLCA的参数有没有错。
以前我好像碰到过这事情,
ljlj
2006-01-25
打赏
举报
回复
好的,。。。。
老板卤两个蛋蛋
2006-01-25
打赏
举报
回复
同意 :我是一只小小小小小菜鸟
可能是你的当前路径有问题
比如你发送了快截方式到桌面,而你从桌面的快截方式运行的话,那么当前路径是桌面地址了,而不是你的EXE文件的路径
bcfxbcfx
2006-01-23
打赏
举报
回复
没遇见过
ljlj
2006-01-23
打赏
举报
回复
问题我虽然没有解决,我把这段时间尝试的方法再和大家交流一下。
1)第一次取INI文件,代码是这样的:
open
// Profile hzkcs
li_dir =GetCurrentDirectory() //取当前系统目录
//
SQLCA.DBMS = profilestring(li_dir+"\kcs.ini",'KCS','SQLCA.DBMS','none')
SQLCA.Database = profilestring(li_dir+"\kcs.ini",'KCS','SQLCA.Database','none')
SQLCA.ServerName = profilestring(li_dir+"\kcs.ini",'KCS','SQLCA.ServerName','none')
SQLCA.LogId = profilestring(li_dir+"\kcs.ini",'KCS','SQLCA.LogId','none')
SQLCA.LogPass = profilestring(li_dir+"\kcs.ini",'KCS','SQLCA.LOgPass','none')
SQLCA.AutoCommit = False
SQLCA.DBParm = ""
//
SQLCA.LOCK = 'RU'
connect;
open(w_welcome)
kcs.ini
[KCS]
SQLCA.DBMS = MSS Microsoft SQL Server'
SQLCA.Database = 'kcs' //原是 hzkcs,这里之所以用‘kcs'是我故意的,用来测试。
SQLCA.ServerName = 'hj001' //原是 hj
SQLCA.LogId = 'sa'
SQLCA.LogPass = ''
这次的问题就是放在没安装PB9运行环境的电脑上,将Database 和 ServerName 改成这台电脑的数据库名与服务器名。运行出现英文: Transaction not connected。我当时试着用这样的方法排除: 在这台电脑上安装PB9的运行环境,就可以。 然后我将PB9卸裁再运行,又不行了。-------判断应该是少了什么文件。 然后就找之前的贴与查找相关的资料,一一比较.dll看看少了哪个就补哪个。问题没得到解决, 就上CSDN发贴了。
之后,也想到可能是我取INI的方法出错了。就用一个死方法将:
SQLCA.Database = 'kcs' 与 SQLCA.ServerName = 'hj001' 写上我的源程序,再打包。然后将打包好的文件覆盖hj001。 试运行,结果问题照旧。------这时候我想。我的W_WELCOME窗口,是用一个EXTERNAL 建立的临时数据窗口。 用来接受用户输入的编号:/显示姓名:/输入密码:。 我自己认为这个临时的数据窗口没和SQL有联系,是不是这里少了什么文件。
临时数据窗口需要PB9的哪个 .DLL支持呢?不知是不是?
qlyscf
2006-01-23
打赏
举报
回复
Transaction对象的连接参数有问题吧?逐项检查一下.
既然能正常编译,环境应该是没问题的.
wjdn
2006-01-22
打赏
举报
回复
支持楼上说法,再看看连接参数吧!
filix2006
2006-01-21
打赏
举报
回复
问题出在数据库连接,你在获取INI 文件数据库信息出的错,仔细看一下SQLCA的各个参数
lxzyz
2006-01-21
打赏
举报
回复
我觉得既然程序目录里的dll都不缺应该不是程序目录的问题,试一下在系统目录里找问题,还有SQL2000
hbdkfk
2006-01-20
打赏
举报
回复
关注一下
顶一个
ljlj
2006-01-20
打赏
举报
回复
哦。问题具体是这样:
刚开始的时候,我设想用.INI 来记录“SQL 的数据库名与机器名”。在PB运行时读取.INI。
这样可以根据用户机器的实际情况修改后使用。 程序在源代码情况下可以。
编译之后,在有PB运行平台的电脑上运行编译之后的.EXE,也是正常的。 下面列出.DLL清单:
PBVM90.DLL
LIBJCC.DLL
PBDWE90.DLL
PBRTC90.DLL
PBFNT90.INI
PBLAB90.INI
PBTRA90.DLL
PBODB90.DLL
PBODB90.INI
NTWDBLIB.DLL
......
后面我发现拷贝到没PB9运行环境的电脑上运行。我写的登录窗口出来了。
编号:_____
姓名:_____
密码:_____
确定 取消
这说明窗口能运行。但我输入编号,本应该自动弹出姓名,光标移到密码栏。这是正确步骤。
现出现的问题时:输入编号按回车,出现英文:
Transaction not connected
我将D:\PROG...\SYSBASE\SHARD\POWERBUILDER\*.DLL 通通拷贝到 编译后的程序目录,还是一样。
啊 。。。问题没解决。
不知少了什么文件。请指点。
jimmyxc
2006-01-19
打赏
举报
回复
sql,odbc需要的DLL和文件丢在系统目录下试试
rishengw
2006-01-19
打赏
举报
回复
问题都没说清楚
加载更多回复(1)
pb
生成
exe
文件
步骤
(1)单击powerBar工具栏止的New按钮,打开New对话框,选择Project选项卡,选择Application Wizaard选项 ...(5)单击Next按钮,定义可热功当执行
文件
的名,如果项目包含资源
文件
,则定义资源
文件
名。 (6)单击Next按钮,定
PB
-
文件
生成
出现问题。
PB
文件
在
生成
的
时
候,就学习了别人的大包的方式,但是由于我们之间的版本不同,我的版本是10,别人的
时
9,所以我的
exe
程序,再打开的
时
候登陆界面能显示出来,但是一点即就蹦,一点就崩溃了。 最开始认为是电脑...
PB
后台调用外部
EXE
文件
防止多重启动
PB
后台调用外部
EXE
文件
防止多重启动之调用
EXE
(效果:第二次启动程序则前一进 程的
窗口
跳到最前) 后台调用外部
EXE
文件
,判断该
exe
文件
是否已经
运行
,如果已经
运行
就调出
exe
对应 的界面,否则则
运行
exe
文件
。 原理...
pb
根据
sql
语句
生成
数据
窗口
string ls_
sql
,ls_syntax,ls_errorls_
sql
= mle_1.textls_syntax =
sql
ca.SynTaxFrom
Sql
(ls_
sql
,style(type=grid),ls_error)IF len(ls_error) > 0 Then MessageBox(Error,ls_error) ReturnElse ls_error = d
powerbuilder 在
pb
里面怎么把
文件
编译成
exe
文件
生成
exe
步骤: (1)单击powerBar工具栏止的New按钮,打开New对话框,选择Project选项卡,选择Application Wizaard选项; (2)单击OK按钮,打开向导; (3)单击Next按钮进入定义应用所包含的库; (4)单击Next按钮,进入...
PowerBuilder
1,108
社区成员
66,453
社区内容
发帖
与我相关
我的任务
PowerBuilder
PowerBuilder 相关问题讨论
复制链接
扫一扫
分享
社区描述
PowerBuilder 相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章