<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"><channel><title>cdbi / Drkcore</title><link>http://blog.kzfmix.com/cdbi</link><description>Programming, Music, Snowboarding</description><language>ja</language><lastBuildDate>Sat, 24 Jun 2006 15:19:08 +0919</lastBuildDate><item><title>FC5にoracle8iのクライアントが入らない</title><link>http://blog.kzfmix.com/entry/1151129948</link><description>&lt;p&gt;&lt;a href="/" title="カエルチュウイホウ"&gt;カエルチュウイホウ&lt;/a&gt;
&lt;blockquote&gt;jreって単なるシェルスクリプトだったので、頑張ればGUIインストーラーを起動させられそうな感じが。&lt;/blockquote&gt;&lt;/p&gt;
&lt;p&gt;jreいじってみたけど、segmentation faultが治らん。&lt;/p&gt;
&lt;p&gt;FC2もFC5もkernel2.6系なんだからoracle8iクライアントがFC2にはインストールできてFC5にはできないのは納得いかん。&lt;/p&gt;
&lt;p&gt;libgcjがあやしい。&lt;/p&gt;</description><pubDate>Sat, 24 Jun 2006 15:19:08 +0919</pubDate><category>cdbi</category><category>fedoracore</category><category>oracle</category></item><item><title>clashes with built-in method</title><link>http://blog.kzfmix.com/entry/1150460514</link><description>&lt;p&gt;&lt;a href="http://blog.kzfmix.com/entry/1146571956"&gt;Class::DBI::Oracleのおかげで&lt;/a&gt;SQL書かなくて快適になったんだが、悩ましいカラム名のついているテーブルがあった。&lt;/p&gt;
&lt;blockquote class="terminal"&gt;
&lt;pre&gt;&lt;code&gt;Column 'qv' in Test::Table clashes with built-in
 method at ./m2desc.pl line 6&lt;/pre&gt;&lt;/code&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;あー、qvとは、、、、&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;aliasってないのかなぁとちょっと探してみたけど、それだと&lt;strong&gt;__PACKAGE__-&amp;gt;set_up_table&lt;/strong&gt;でお気軽に設定する意味なくなっちゃうからないんだろうナァ。&lt;/p&gt;
&lt;p&gt;やっぱ、テーブルのカラム名変えるしかないんだろうか？既存のプログラムにも手を入れなきゃならんから、これはちょっと現実的でない。参照したいだけだから、qvだけ名前を変えたviewでしのぐ方法もあるにはあるが、、、、&lt;/p&gt;
&lt;p&gt;CDBIでうまいことやる方法はないんだろうか、と探してみたけどいい方法は見つからなかった。&lt;/p&gt;</description><pubDate>Fri, 16 Jun 2006 21:21:54 +0919</pubDate><category>cdbi</category></item><item><title>Class::DBI::Pager</title><link>http://blog.kzfmix.com/entry/1147959101</link><description>&lt;p&gt;職場のTTいじくってたら、&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blog.kzfmix.com/entry/1147650069"&gt;これ&lt;/a&gt;おかしなことやってんじゃんということに気づいた。prev,next自分で書く必要ないじゃん。&lt;/p&gt;
&lt;blockquote class="terminal"&gt;
&lt;pre&gt;&lt;code&gt; ### navigation like: prev 20 | next 20
[% IF pager.previous_page %]
&amp;lt;a href="display?page=[% pager.previous_page %]"&gt;
prev [% pager.entries_per_page %]&lt;/a&gt; |
[% END %]
[% IF pager.next_page %]
&amp;lt;a href="display?page=[% pager.next_page %]"&gt;
next [% pager.entries_per_page %]&lt;/a&gt;
[% END %]
&lt;/code&gt;&lt;/pre&gt;
&lt;/blockquote&gt;

&lt;p&gt;そして&lt;a href="http://mfpm.blogdb.jp/app/view/Class::DBI::Plugin::Pager/"&gt;Class::DBI::Plugin::Pager&lt;/a&gt;てのもみっけたのでどう違うんだろうと思って調べたら、　Limitがきくから大きいDBで速くなるのね。&lt;/p&gt;
&lt;p&gt;&lt;p&gt;&lt;div class="awsxom"&gt;
    &lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/487311280X/ref=nosim/kaerutyuuihou-22"&gt;
    &lt;img src="http://ecx.images-amazon.com/images/I/51ZM9ZJ30PL._SL160_.jpg" align="left" hspace="5" border="0" alt="ProductName" class="image" /&gt;
    &lt;strong&gt;実用 Perlプログラミング 第2版&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;
    Simon Cozens&lt;br /&gt;
    オライリージャパン / 3360円 ( 2006-03-01 )&lt;br /&gt;
    &lt;br /&gt;
    &lt;br clear="all" /&gt;
    &lt;/div&gt;&lt;/p&gt;&lt;/p&gt;
&lt;p&gt;に&lt;strong&gt;Class::DBI::PagerはClass::DBIのためのミックスインで&lt;/strong&gt;と書いてあったのだけど、多重継承とはどう違うんだろうか&lt;/p&gt;
&lt;p&gt;とか思ったのでソース見てみたけどわからん。明日もう一度じっくり読もう。&lt;/p&gt;</description><pubDate>Thu, 18 May 2006 22:31:41 +0919</pubDate><category>cdbi</category></item><item><title>CDBIで日ごとに集計をとりたいが、、、、</title><link>http://blog.kzfmix.com/entry/1147430978</link><description>&lt;p&gt;Class::DBIでMySQLのDatetime型を日付で集計ってどうやるんだろうか?&lt;/p&gt;
&lt;p&gt;つまりはこういうことがやりたいんだけど。&lt;/p&gt;
&lt;blockquote class="terminal"&gt;
&lt;pre&gt;&lt;code&gt;mysql&gt; select substring(subdate,1,10) as date,count(*)
mysql&gt; from items group by date;
+------------+----------+
| date       | count(*) |
+------------+----------+
| 2006-04-26 |       15 |
| 2006-04-27 |        2 |
| 2006-05-01 |        5 |
| 2006-05-02 |        1 |
| 2006-05-09 |        2 |
| 2006-05-10 |        1 |
| 2006-05-11 |       37 |
| 2006-05-12 |        2 |
+------------+----------+&lt;/pre&gt;&lt;/code&gt;
&lt;/blockquote&gt;

&lt;p&gt;こいつを棒グラフとか折れ線グラフで画像に書き出してやろうと思ったんだけどナァ、、、、&lt;/p&gt;
&lt;p&gt;やっぱset_sqlなのかな。&lt;/p&gt;</description><pubDate>Fri, 12 May 2006 19:49:38 +0919</pubDate><category>cdbi</category></item><item><title>Class:DBI::AutoLoader</title><link>http://blog.kzfmix.com/entry/1147075462</link><description>&lt;p&gt;&lt;a href="http://mixi.jp/home.pl"&gt;mixi&lt;/a&gt;みとったら、&lt;a href="http://mfpm.blogdb.jp/app/view/Class::DBI::AutoLoader/"&gt;Class::DBI::AutoLoader&lt;/a&gt;がわかんないとかいうトピックをみっけた。&lt;/p&gt;
&lt;p&gt;自動的にサブクラスを作ってくれるらしい。サブクラスの命名則は文字数字以外をsplitして最初の文字を大文字にして連結。&lt;/p&gt;
&lt;blockquote class="terminal"&gt;
&lt;pre&gt;&lt;code&gt;$table = join('', map { ucfirst($_) } split(/[^a-zA-Z0-9]/, $table));
&lt;/code&gt;&lt;/pre&gt;
&lt;/blockquote&gt;

&lt;p&gt;おー、これは便利そうだ、いったいどうやってるんだ?とコードを眺めてみたら、importメソッドからgenerateClassを呼び出して、&lt;strong&gt;eval($class)&lt;/strong&gt;でサブクラスを作ってるみたい。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;で、importってドコで呼ばれんの?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;ってことで少し調べてみたら、
&lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4873111676/ref=nosim/kaerutyuuihou-22"&gt;続・初めてのPerl&lt;/a&gt;の12章に書いてあった。&lt;/p&gt;
&lt;blockquote class="terminal"&gt;
&lt;pre&gt;&lt;code&gt;use My::Module qw(kzfm hana yuki);&lt;/code&gt;&lt;/pre&gt;
&lt;/blockquote&gt;

&lt;p&gt;は以下のコードと等価
&lt;blockquote class="terminal"&gt;
&lt;pre&gt;&lt;code&gt;require My::Module;
My::Module-&amp;gt;import( qw(kzfm hana yuki) );
&lt;/code&gt;&lt;/pre&gt;
&lt;/blockquote&gt;&lt;/p&gt;
&lt;p&gt;&lt;p&gt;&lt;div class="awsxom"&gt;
    &lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4873111676/ref=nosim/kaerutyuuihou-22"&gt;
    &lt;img src="http://ecx.images-amazon.com/images/I/51FBQDEKJJL._SL160_.jpg" align="left" hspace="5" border="0" alt="ProductName" class="image" /&gt;
    &lt;strong&gt;続・初めてのPerl - Perlオブジェクト、リファレンス、モジュール&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;
    Randal L.Schwartz&lt;br /&gt;
    オライリー・ジャパン / ?円 ( 2003-12 )&lt;br /&gt;
    &lt;br /&gt;
    &lt;br clear="all" /&gt;
    &lt;/div&gt;&lt;/p&gt;&lt;/p&gt;</description><pubDate>Mon, 08 May 2006 17:04:22 +0919</pubDate><category>cdbi</category></item><item><title>Class::DBI::OracleでLongTruncOkのエラー</title><link>http://blog.kzfmix.com/entry/1146571956</link><description>&lt;p&gt;調子にのってClass::DBI::OracleでO/Rマッピングじゃ！とQSARやりやすいようにデータベースのモジュールを片っ端から書いたら、&lt;/p&gt;
&lt;blockquote class="terminal"&gt;DBD::Oracle::st fetchrow_array failed: ORA-24345: A Truncation or null fetch error occurred (DBD ERROR: ORA-01406 error on field 7 of 14, ora_type 8, LongReadLen too small and/or LongTruncOk not set) [for Statement "SELECT cmr, nnhoh, mixture, mwt, status, mlogp, smiles, tpsa, ro5_score FROM   PHYSICO WHERE  id=?
" with ParamValues: :p1='99999'] at /usr/lib/perl5/site_perl/5.8.3/DBIx/ContextualFetch.pm line 88, &lt;GEN0&gt; line 203.&lt;/blockquote&gt;

&lt;p&gt;とエラーが。&lt;/p&gt;
&lt;p&gt;どうも、smilesで突っ込んであった化合物情報が長すぎるっぽい。
今まで、問題にならなかったのはsmilesをselectする必要がなかったかららしい。&lt;/p&gt;
&lt;blockquote class="terminal"&gt;
&lt;pre&gt;&lt;code&gt;use base qw(Class::DBI::Oracle);

our $VERSION = '0.01';

# Preloaded methods go here.
__PACKAGE__-&gt;set_db('Main','dbi:Oracle:orcl','kzfm','kzfm',{LongReadLen =&gt; 20000});

__PACKAGE__-&gt;set_up_table("PHYSICO");

1;
__END__&lt;/code&gt;&lt;/pre&gt;&lt;/blockquote&gt;

&lt;p&gt;とやってLongReadLenの値を変えてOKなかんじ。&lt;/p&gt;</description><pubDate>Tue, 02 May 2006 21:12:36 +0919</pubDate><category>cdbi</category></item><item><title>Class::DBI::Oracle</title><link>http://blog.kzfmix.com/entry/1146479902</link><description>&lt;p&gt;&lt;a href="http://mfpm.blogdb.jp/app/view/Class::DBI::mysql/"&gt;Class::DBI::mysql&lt;/a&gt;のset_up_table便利すぎなんで、最近もっぱらmysql派なんだけどオラクルにもないかなと探したらあった。&lt;/p&gt;
&lt;p&gt;&lt;a href="http://mfpm.blogdb.jp/app/view/Class::DBI::Oracle/"&gt;Class::DBI::Oracle&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;カラム名とか入れなくてもいいのに慣れちゃうとあれだ、ずぼらになる。というか、テーブル作る際にそのままCDBIで使えるようなわかりやすいカラム名付けたり、APIのこと考えたテーブルスキーマにするように努力したりするのでいいことなのかも。&lt;/p&gt;</description><pubDate>Mon, 01 May 2006 19:38:22 +0919</pubDate><category>cdbi</category></item></channel></rss>