perls dbi在哪里:Oracle table_info / column_info从哪里获取信
我有一个(至少我认为是这样)简单的任务:按列名,数据类型和长度比较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对我来说也不是很有帮助,到目前为止,试验和错误导致获得所有对象或根本没有. 目前我正在考虑通过perl系统调用通过sqlplus执行describe并解析输出….但必须有更好的方法. 编辑: 如果检查右列,则视图user_tab_columnsworks按预期方式(请参阅下面的注释). 您可能没有发现DBD :: Oracle文档特别有用,但您是否考虑使用源代码?这是table_info()和column_info()的源代码.两个子例程似乎都花在构建SQL语句上. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |