oracle - perls dbi :Oracle table_info/column_info get their information from? 在哪里

标签 oracle perl dbi

我有一个(至少我这么认为)简单的任务:按列名、数据类型和长度比较 2 个表,只是为了验证它们到目前为止具有相同的结构。它应该在连接到两个不同数据库的现有 perl 脚本中完成。

首先我简单地查询了每个数据库user_tab_columns并比较了结果。现在我发现了user_tab_columns的艰难方法不是实时的,但必须通过分析我完全不知道的表 ( http://docs.oracle.com/cd/B19306_01/server.102/b14237/statviews_4462.htm#REFRN26277 ) 来刷新。
describe获取实际的表定义,但似乎不能通过 perls dbi:Oracle 工作,所以我偶然发现了 table_info()column_info()方法。 但是他们从哪里获得信息呢? 如果他们只是查询 *_tab_columns同样,它们对我也没有用。

我不能简单地测试,因为我还没有设法传递正确的参数。 Dbi Documentation说这是根据数据库驱动程序。 Oracle DBD Documentation对我也不是很有帮助,到目前为止的反复试验导致获得所有对象或根本没有。

目前我正在考虑执行 describe通过 sqlplus通过 perl 系统调用并解析输出......但必须有更好的方法。

编辑:

View user_tab_columns如果检查正确的列(请参阅下面的评论),则按预期工作。

最佳答案

您可能没有发现 DBD::Oracle 文档特别有用,但您是否考虑过使用源代码?

这是table_info()的来源和 column_info() .这两个子例程似乎主要用于构建 SQL 语句。

关于oracle - perls dbi :Oracle table_info/column_info get their information from? 在哪里,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28068786/

相关文章:

java - 如何从 j2ee webapp 将 pdf 文件保存在 oracle 12c 数据库中

java - Oracle DBMS 能否从 Java 存储过程调用返回 Java 对象?

sql - Oracle 查询以识别具有特殊字符的列

perl - 如何在 Perl 中使用变量的值作为 glob 模式?

本地安装的 Perl 先决条件

perl - 是否可以在 perl 中将子例程原型(prototype)化为 $$&?

mysql - 从 CGI 脚本 Perl 访问 DBI 连接配置文件的正确方法

python - Oracle SQL 计算列 - 如何在同一查询的另一个计算中引用计算列?

database - 在 perl 中选择没有准备好的语句

mysql - 解决 perl DBD::mysql UTF-8 错误