Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 什么是sql目录的Oracle术语?_Java_Sql_Oracle_Jdbc - Fatal编程技术网

Java 什么是sql目录的Oracle术语?

Java 什么是sql目录的Oracle术语?,java,sql,oracle,jdbc,Java,Sql,Oracle,Jdbc,我正在使用java的接口DatabaseMetaData,并将jdbc驱动程序用于oracle数据库 接口使用术语catalog作为数据库子集的坐标之一。例如,在查询过程时(getProcedures) 我不确定术语catalog代表什么,特别是考虑到Oracle数据库 在简单地玩了这个接口之后,我发现我可以为catalog参数传递包名以产生其成员 这是否意味着在Oracle目录中==包中?接口确实定义了getCatalogTerm方法,但在我的例子中,它返回了一个空字符串。看起来这是数据库名称

我正在使用java的接口
DatabaseMetaData
,并将jdbc驱动程序用于oracle数据库

接口使用术语
catalog
作为数据库子集的坐标之一。例如,在查询过程时(
getProcedures

我不确定术语
catalog
代表什么,特别是考虑到Oracle数据库

在简单地玩了这个接口之后,我发现我可以为
catalog
参数传递包名以产生其成员


这是否意味着在Oracle
目录中
==
包中
?接口确实定义了
getCatalogTerm
方法,但在我的例子中,它返回了一个空字符串。

看起来这是数据库名称-@OldProgrammer如果我理解正确,那么
catalog
似乎是Oracle数据库中的某种名称空间。因此,
是一个
目录
,但
目录
是一个更广泛的术语,包括服务器实例。这就是为什么我可以通过为catalog参数传递包名来列出包成员。一个包的成员是否可能分散在多个服务器实例中?那么,我的用例的输出是什么呢?Oracle不支持目录,只支持模式。包裹是不一样的。按照SQL标准的定义方式,目录是数据库中所有对象的名称空间,而不仅仅是过程。@a_horse_,没有名称,谢谢。你有什么参考资料可以让我查到更多细节吗?虽然我理解,从sql标准的角度来看,目录和包是不同的实体,但从DatabaseMetaData接口与Oracle数据库交互的角度来看,我是否可以安全地假设目录就是包,仅此而已?更准确地说,这是该接口在oracle数据库中解释术语catalog的方式。catalog概念从JDBC的角度应用于所有对象-每个返回对象信息的DatabaseMetaData调用都包含catalog属性。但是表、视图、序列、类型等在Oracle中没有目录。在我看来,Oracle的JDBC驱动程序只是错误地使用了包的catalog属性,因为JDBC API不支持包,为了能够通过(mis)使用catalog属性来区分独立过程和打包过程(否则在Oracle中不使用catalog属性)