2017-03-31 52 views
0

我需要从Java程序中读取特定模式的存储过程的内容(存储过程内的文本)。如何从Java程序读取存储过程源代码?

例子。假设我在oracle中有一个名为mySp的sp。

我需要阅读sp中的文本。

如何从java程序中实现此目的。

回答

-1

我想你可以使用类似this..Better参考JDBC的metadata API..Hope这有助于

http://docs.oracle.com/javase/7/docs/api/java/sql/DatabaseMetaData.html

DatabaseMetaData dbMetaData = conn.getMetaData(); 
ResultSet rs = dbMetaData.getProcedureColumns(conn.getCatalog(), 
         null, 
         "mySp", 
         ""); 

while(rs.next()) { 
/
} 
+0

我觉得上面只返回存储过程的列名。对? – Abdul

+0

举个例子,我给了getProcedureCOlumns ..也有其他方法..只是验证上面的链接..或者你可以使用一个更多的查询,并通过这个SP作为参数,并获得文本..这个选项也可用。 。我在Google中找到了下面的内容。SELECT a.OBJECT_NAME,p.PROCEDURE_NAME FROM SYS.ALL_OBJECTS a,SYS.ALL_PROCEDURES p WHERE a.OBJECT_NAME = p.OBJECT_NAME AND a.OBJECT_TYPE ='PACKAGE'AND a.OWNER ='“ + ownerName +“'AND p.PROCEDURE_NAME IS NOT NULL” –