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 に答える