PB中使用SQLCA定义自己的数据库过程,编译成DLL、Machine Code 方式错误!!只能编译成PBD??在线等!!

lilylamb 2005-05-19 10:43:06
在PB中自己定义stand class 引用数据库过程,可是在编译时却发生错误,
我要编译生成应用,选择Machine Code 方式,出现错误提示如下,
把应用中SQLCA中修改回原来的默认值又报过程未定义?
我这里要求生成DLL,盼望答复。

CGEN: Compiling 'C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\backup.c'
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\backup.c(1014) syntax error before 'dba'; probable cause: incorrectly spelled type name
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\backup.c(1014) syntax error
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\backup.c(1023) declaration statement follows an if statement
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\backup.c(1053) syntax error before 'dba'; probable cause: incorrectly spelled type name
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\backup.c(1053) syntax error
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\backup.c(1062) declaration statement follows an if statement
...全文
196 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
lzheng2001 2005-05-20
  • 打赏
  • 举报
回复
试试用细分法来,找到问题所在吧.

先备份一下你的程序,新建一个PBL,把这个有错误的PBL中的对象逐个move到这个新的PBL中,每次移动都试试编译成DLL一下,如果没问题再move回原来的PBL中(这步或者可以不做),看看最后是哪个对象编译出错!

首先看一下那个事务对象吧.
lilylamb 2005-05-20
  • 打赏
  • 举报
回复
只有使用自定义引用数据库过程的那个pbl出错了,
“dba”好多地方都用到了?、
lzheng2001 2005-05-20
  • 打赏
  • 举报
回复
1. 逐个PBL编译也不行吗? 每个都不行? 还是某个PBL不行?(右键pbl->build runtime可以单独编译DLL)

2.查查"dba"这个关键字是在哪里
lilylamb 2005-05-20
  • 打赏
  • 举报
回复
lzheng2001(1加1=0)
我已经按照你的步骤都做了,都是按照你的条件设的,但两台机器都出错,
我现在使用的是pb9.0.1 build 7171,还有什么补丁??
完整错误提示:
CGEN: Compiling 'C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\smms.c'
CGEN: Compiling 'C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cgigrk2r.c'
CGEN: Compiling 'C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cgigrk2q.c'
CGEN: Compiling 'C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cgigrk2s.c'
CGEN: Compiling 'C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cgigrk2t.c'
CGEN: Compiling 'C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cgigrk2v.c'
CGEN: Compiling 'C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cgigrk35.c'
CGEN: Compiling 'C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cgigrk37.c'
CGEN: Compiling 'C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cgigrk38.c'
CGEN: Compiling 'C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cgigrk3d.c'
CGEN: Compiling 'C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cgigrk3g.c'
CGEN: Compiling 'C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cgigrk3h.c'
CGEN: Compiling 'C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cgigrk3f.c'
CGEN: Compiling 'C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cgigrk3e.c'
CGEN: Compiling 'C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cgigrk3k.c'
CGEN: Compiling 'C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cgigrk3l.c'
CGEN: Compiling 'C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cgigrk3m.c'
CGEN: Compiling 'C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cgigrk3o.c'
CGEN: Compiling 'C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cgigrk44.c'
CGEN: Compiling 'C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cgigrk43.c'
CGEN: Compiling 'C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cgigrk4g.c'
CGEN: Compiling 'C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cgigrk4l.c'
CGEN: Compiling 'C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cgigrk4k.c'
CGEN: Compiling 'C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cgigrk4p.c'
CGEN: Compiling 'C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cgigrk51.c'
CGEN: Compiling 'C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cgigrk53.c'
CGEN: Compiling 'C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cgigrk55.c'
CGEN: Compiling 'C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cgigrk54.c'
CGEN: Compiling 'C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cgigrk52.c'
CGEN: Compiling 'C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cgigrk50.c'
CGEN: Compiling 'C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cgigrk56.c'
CGEN: Compiling 'C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cgigrk4z.c'
CGEN: Compiling 'C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cgigrk57.c'
CGEN: Compiling 'C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cgigrk4y.c'
CGEN: Compiling 'C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cgigrk4x.c'
CGEN: Compiling 'C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cgigrk59.c'
CGEN: Compiling 'C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cgigrk5b.c'
CGEN: Compiling 'C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cgigrk5c.c'
CGEN: Compiling 'C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cgigrk5e.c'
CGEN: Compiling 'C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cgigrk5h.c'
CGEN: Compiling 'C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cgigrk5j.c'
CGEN: Compiling 'C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cgigrk5k.c'
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cgigrk5k.c(50) syntax error before 'dba'; probable cause: incorrectly spelled type name
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cgigrk5k.c(50) syntax error
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cgigrk5k.c(59) declaration statement follows an if statement
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cgigrk5k.c(89) syntax error before 'dba'; probable cause: incorrectly spelled type name
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cgigrk5k.c(89) syntax error
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cgigrk5k.c(98) declaration statement follows an if statement
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cgigrk5k.c(128) syntax error before 'dba'; probable cause: incorrectly spelled type name
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cgigrk5k.c(128) syntax error
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cgigrk5k.c(137) declaration statement follows an if statement
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cgigrk5k.c(167) syntax error before 'dba'; probable cause: incorrectly spelled type name
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cgigrk5k.c(167) syntax error
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cgigrk5k.c(176) declaration statement follows an if statement
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cgigrk5k.c(206) syntax error before 'dba'; probable cause: incorrectly spelled type name
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cgigrk5k.c(206) syntax error
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\cgigrk5k.c(215) declaration statement follows an if statement
QINYUEH 2005-05-20
  • 打赏
  • 举报
回复
你看一下声明时的语句:
是不是这样的 RPCFUNC ALIAS FOR "~"dbo~".~"过程名~""

应该改成 RPCFUNC ALIAS FOR "dbo.过程名."就对了,我原来也犯过这样的毛病。
hygougou 2005-05-19
  • 打赏
  • 举报
回复
打补丁后

编译成PBD能否成功

再说了
lzheng2001 2005-05-19
  • 打赏
  • 举报
回复
首先说一下这个错误应该与"用stand class 引用数据库过程"无关,因为我一直这样用都没问题.

关于这个错误,
1.你试试逐个PBL编译成DLL方式吧.
2.也可以换台机器试试.
3.试试优化一下你的PBL 右键pbl->优化
4.编译时 optimzation选项 选择no optimzation
5.打pb补丁

1,079

社区成员

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

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