使用DBI :: ODBC-> table_info()检索可用的表类型,模式和目录

时间:2013-08-26 17:51:36

标签: sql perl odbc dbi

根据table_info说明,我应该可以调用table_info('%','','')来检索可用的目录。我也应该能够为表类型和模式做类似的事情。

当我直接通过ODBC调用SQLTables("%","","","")执行此操作时,它按预期工作,但是使用perl的DBI我只是取回所有可用的表。

DBI :: ODBC是否支持此功能?如果不是,有没有其他方法可以检索可用的模式,表类型和目录?这必须是数据源不可知的,因此必须使用ODBC。

顺便说一下,我确实读过How do I get schemas from Perl's DBI?,但在这种情况下没有用。

1 个答案:

答案 0 :(得分:1)

发生这种情况是因为DBD :: ODBC实际上并没有将空字符串传递给SQLTypeInfo,而是传递NULL。我说这是一个错误,值得在rt.cpan.org上发布。但是,因为我现在是维护者,所以我现在知道了。通过各种方式发布一个错误,如果你回到我身边,我会发给你一个新版本进行测试。

编辑:DBD :: ODBC的最新版本似乎做对了,所以你使用的是什么版本?

EDIT2:对我来说糟糕的一天 - DBD :: ODBC在字符串为空时传递NULL,所以继续报告它,我会修复它。