[转]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
$

编译通过!

原文地址:http://blog.csdn.net/iw1210/article/details/8481409

原文地址:https://www.cnblogs.com/schowen/p/5587483.html