【发布时间】:2015-10-12 17:23:27
【问题描述】:
在 oracle 数据库中有一个模式。在模式内部有一个包含不同方法的包。如何使用DatabaseMetaDataclass中的getProcedureColumn()函数检索过程的元数据?
我尝试使用getProcedureColumns(catalog,schemaname,procedurename,columnnamepattern) 获取元数据,当过程位于架构内时它可以正常工作。当过程位于模式中的包内时,它不会检索。
【问题讨论】:
-
嗯,你试过什么?
-
试试这个代码。 OracleDataSource ods = new OracleDataSource(); ods.setURL(DB_URL); ods.setUser(DB_USERNAME); ods.setPassword(DB_PASSWORD); OracleConnection 连接 = (OracleConnection) ods.getConnection(); DatabaseMetaData dbmd = connection.getMetaData(); System.out.println("驱动名称:" + dbmd.getDriverName()); System.out.println("驱动版本:" + dbmd.getDriverVersion());
-
@OldProgrammer:我添加了我试过的吃。如果有人建议获取位于架构中包内的过程的元数据,这将很有帮助
-
我不确定 JDBC 如何公开元数据,但在 Oracle 数据字典中,包内的过程不是“对象”。我认为这部分是因为参数重载,这意味着一个包可以有多个同名的过程。
标签: database oracle stored-procedures jdbc metadata