4

我正在使用 SSIS 连接到 ORACLE 数据库,我想查看 TEXT 以获取某些视图。我关注了这个链接,但它给了我无效的语法错误。

SET LINESIZE 132
SET LONG 4000
SELECT TEXT FROM ALL_SOURCE WHERE NAME = 'YOUR_PROCEDURE_NAME'

请提出任何其他替代方案。

更新:

同时我检查了另一个选项

select TEXT from ALL_VIEWS where view_name = 'YOUR_PROCEDURE_NAME'

这已成功解​​析,但 ORA -24374 定义在错误到来之前未完成

4

3 回答 3

3

作为替代方案,您可以尝试使用 dbms_metadata 包:

视图:

select dbms_metadata.get_ddl('VIEW', 'YOUR_VIEW_NAME')
from dual;

您使用“过程名称”作为参数,所以我不确定您是否真的在尝试获取存储过程的源代码。在这种情况下,您需要这样的东西:

select dbms_metadata.get_ddl('PROCEDURE', 'YOUR_PROCEDURE_NAME')
from dual;
于 2012-09-26T06:32:09.333 回答
0

这最终在 SQL PLUS 中起作用。不知道为什么这不适用于 SSIS 适配器。

select TEXT from ALL_VIEWS where view_name = 'YOUR_PROCEDURE_NAME' 
于 2012-09-26T06:49:59.473 回答
0

我测试了这种方法,但没有成功,因为它没有搜索到我数据库上的所有模式。

select TEXT from ALL_VIEWS where view_name = 'YOUR_PROCEDURE_NAME' 

所以我找到了另一个可以帮助我的!

select text
from dba_source
where NAME='YOUR_SP_NAME'
于 2021-12-03T03:25:04.347 回答