|
17
|
| LeonZandman · 技术社区 · 17 年前 |
|
|
1
24
在Oracle中,
您需要将Oracle模式的名称提供给
这样做有点让人恼火,但这正是甲骨文人员选择实现JDBC驱动程序的方式。 |
|
|
2
15
这不会直接回答您的问题,但另一种方法是执行查询:
这将返回一个结果集,即使它没有选择任何行。结果集元数据将与从中选择的表匹配。根据你在做什么,这会更方便。
|
|
|
3
3
在更新你的问题时,我注意到你错过了肯斯特答案的一个关键部分。他指定了“Where 1=0”的“Where”子句,但您没有。这一点很重要,因为如果您不使用它,那么Oracle将尝试返回整个表。如果你不把所有的记录都翻过来,神谕会把它们保存起来,等着你翻阅。添加WHERE子句仍然可以提供元数据,但不会产生任何开销。 此外,我个人使用“Where RowNum<1”,因为Oracle立即知道所有RowNum都已过了这一步,我不确定它是否足够聪明,不尝试测试“1=0”的每个记录。 |
|
|
4
1
除了斯卡夫曼的回答- 在Oracle中使用以下查询:
如果在Java中受限于此,则访问当前的架构名称。 |
|
|
5
0
这是JDBCAPI授权的行为——将nulls作为第一个和第二个参数传递给getColumns意味着既不使用目录名也不使用模式名来缩小搜索范围。 Link to the documentation .确实,其他一些JDBC驱动程序在默认情况下具有不同的行为(例如,mysql的connectorj在默认情况下仅限于当前目录),但这不是标准的,并且记录在案 |
|
|
Pravin Satav · 导出用于版本控制的数据库对象 11 年前 |