不放到EXEC SQL BEGIN DECLARE SECTION;
里proc预编译器能认吗?没用过,好像不行吧!

解决方案 »

  1.   

    “目前我们的程序就是这么写的”是什么意思,你们现有的.pc就是这么写的?能同预编译?那就看看预编译的选项吧!总觉得不大可能!那样的话要EXEC SQL BEGIN DECLARE SECTION干吗!
      

  2.   

    再说,搂主为什么不愿意加EXEC SQL BEGIN DECLARE SECTION呢,要是遇到varchar变量怎么办?
      

  3.   

    多谢各位的回复,我已经找到了答案了Pro*C/C++ Precompiler Programmer's Guide
               Precompiler Options
                    PARSETo generate C++ compatible code, the PARSE option must be either NONE or PARTIAL. If PARSE=NONE or PARSE=PARTIAL, all host variables must be declared inside a Declare Section. See "Declare Section". 也就是说当  PARSE=FULL 的时候,所以的本地变量可以不放在 Declare Section中。至于   : hqskoala(大晟) 的疑问,我们可以通过 CHAR_MAP=VARCHAR2 来解决,自己在代码中注意
    padding的black和末尾的'\0' 就可以了。因为我以前一直是在UNIX下开发,这些ORACLE的设置和MAKEFILE都是前辈写好的。现在自己想在Win平台建一个测试环境。所以有此一问。 
      

  4.   

    还是感谢 hqskoala(大晟) 对我的支持