0

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

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

DBI::ODBC 是否支持此功能?如果不是,是否有另一种方法可以检索可用的模式、表类型和目录?这必须与数据源无关,因此必须使用 ODBC。

顺便说一句,我确实读过如何从 Perl 的 DBI 中获取模式?但在这种情况下没有帮助。

4

1 回答 1

1

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

编辑:最新版本的 DBD::ODBC 似乎做了正确的事情,那么您使用的是什么版本?

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

于 2013-09-02T15:48:38.140 回答