PLS-S-00201, identifier 'CALLDEMO.GET_EMPLOYEES' must be declared 预编译错误原因及解决办法

$ proc sample9.pc SQLCHECK=SEMANTICS

Pro*C/C++: Release 11.2.0.1.0 - Production on Tue Jan 8 15:18:40 2013

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

System default option values taken from: /usr/local/oracle/product/11.2.0/dbhome_1/precomp/admin/pcscfg.cfg

Error at line 116, column 19 in file sample9.pc
            BEGIN calldemo.get_employees
..................1
PLS-S-00201, identifier 'CALLDEMO.GET_EMPLOYEES' must be declared
Error at line 116, column 19 in file sample9.pc
            BEGIN calldemo.get_employees
..................1
PLS-S-00000, Statement ignored
Semantic error at line 116, column 13, file sample9.pc:
            BEGIN calldemo.get_employees
............1
PCC-S-02346, PL/SQL found semantic errors

$


错误原因:需要指定 “CALLDEMO.GET_EMPLOYEES” 的所属用户。

解决办法:在预编译时加上 userid=name/passwd@remoteDB (如果是连接到本地数据库则不需要@remoteDB)。


如上面的例子:

$ proc  sample9.pc SQLCHECK=SEMANTICS userid=scott/tiger


Pro*C/C++: Release 11.2.0.1.0 - Production on Tue Jan 8 15:25:20 2013

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

System default option values taken from: /usr/local/oracle/product/11.2.0/dbhome_1/precomp/admin/pcscfg.cfg

$

编译通过!


你可能感兴趣的:(PLS-S-00201, identifier 'CALLDEMO.GET_EMPLOYEES' must be declared 预编译错误原因及解决办法)