日期:2014-05-16  浏览次数:20395 次

"component 'SET_NO_OUTLINES' must be declared"错误

用EXP命令导出数据时,出现

C:\Documents and Settings\ZeHong>exp invoice/qazwsx@wlfp76 file=d:\pub_file.dmp log=d:\pub_file_imp.log INDEXES=N GRANTS=n ROWS=n

?

Export: Release 10.2.0.1.0 - Production on 星期六 8月 14 23:21:07 2010

Copyright (c) 1982, 2005, Oracle.? All rights reserved.


EXP-00056: 遇到 ORACLE 错误 6550
ORA-06550: line 1, column 41:
PLS-00302: component 'SET_NO_OUTLINES' must be declared
ORA-06550: line 1, column 15:
PL/SQL: Statement ignored
EXP-00000: 导出终止失败

?

原因:因为服务器server用较低版本的Oracle,而客户端Client是用较高版本的Oracle。这样导致PLS-00302错误。


需要用旧版本exp来导出数据(服务器Oracle为9i2,客户端我用的是Oracle10g。换Oracle9i2就没问题了。)
Cause
Use of Higher Version Export utility (10.2.0.1) on Lower version database(9.2.0.6).

This problem occurs when using 10.2 Exp utility for 10.1,9.2,8.1.7 databases.

Solution
As per compatibility Matrix,You need to use the export utility of the lower version of source and target database.

总结一下:高版本的Client 连接 低版本的Server,无法使用exp及imp命令。