BlogもどきのWeblog

備忘録と日々の呟きとメモとCGIの実験場とされる何か。
プロフィール

GLANSHE
絵描き担当らしい

Total: 30941
Today: 145
Yesterday: 81
最新の記事

コンテンツ

最新のコメント

最新のトラックバック

カテゴリー

リンク

ニコ動MyListLink

Perl + DBI + oracleで詰まった話
LOBというデータ型があるのですが、これを普通に取得しようとすると失敗する事が多いです。

DBD::Oracle::st fetchrow_hashref failed: ERROR fetching field 3 of 5. LOB value truncated from 829 to 80. DBI attribute LongReadLen too small and/or LongTruncOk not set [for Statement "select * from test_table"]

何を言ってるかというと、LOB型のデータ829バイトを80バイトに切り詰めようとして失敗してるそうです。
DBIの属性である「LongReadLen」の値が小さすぎ、もしくは「LongTrunkOk」が未設定である事が原因だそうです。

何で切り詰めようとしてるのかは、大して調べなかったのでわからないのですが、とにかく切り詰めるのをやめさせればよさそうです。

切り詰めるサイズは、データベースハンドルのLongReadLen属性に入っているので、これを大きくしてやればいいっぽいです。

# バイト数で指定
$dbh->{LongReadLen} = 1024 * 100;

参考
DBIではBLOBデータをどのように扱えばよいのですか?
DBD::Oracle


time stamp:2010/03/31 22:41:15
トラックバック(0)|コメント(0)
この記事のトラックバックURL:

コメントを書く
名前:
タイトル:
MAIL:
URL:
コメント:
PASS:
何かしら