<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000099">
久保さん、<br>
<br>
メールをありがとうございます。vuhungです。<br>
<br>
インラインで返答させていただきます。<br>
<br>
(2011/03/23 14:50), kubo wrote:<br>
<blockquote
cite="mid:AANLkTin7xqMVH=n8Hm0EpHexN4T4ykrC2wPAUH6PCkme@mail.gmail.com"
type="cite">
<blockquote type="cite">
<pre wrap="">yomikomi.txtファイルにて
1行目:<table name 1>, <table name 2>
2行目:select文の記載
</pre>
</blockquote>
<pre wrap="">
の1行目のテーブル名ってそもそも必要なのでしょうか?
</pre>
</blockquote>
確かにデータ抽出には不要ですね。<br>
#1行目のテーブル名は抽出したcsvファイル名に使うものです。<br>
<br>
<blockquote
cite="mid:AANLkTin7xqMVH=n8Hm0EpHexN4T4ykrC2wPAUH6PCkme@mail.gmail.com"
type="cite">
<pre wrap="">2行目に実行するSQLがあるなら、それを単に実行して、
テーブル数が幾つであろうが(どんなテーブルがあろうが)、
そのSQLの結果を(select句のままに)csvファイルに
落とせば良いように思えるのですがどうなのでしょう?
</pre>
</blockquote>
シンプルな場合はその通りでございます。<br>
select句を実行した結果をJava上のオブジェクトに保存しておき、csvファイルに落とす流れになります。<br>
<br>
<blockquote
cite="mid:AANLkTin7xqMVH=n8Hm0EpHexN4T4ykrC2wPAUH6PCkme@mail.gmail.com"
type="cite">
<pre wrap="">
抽出だけでなく加工する必要があると書かれていますので、
その加工作業にテーブル名が必要なのでしょうか?
</pre>
</blockquote>
テーブル名が不要です。<br>
<br>
言葉足らずですが、「加工」というのは抽出した値をcsvファイルに入れる・入れない、<br>
または日付フォーマットを変えるくらいです。<br>
<br>
<blockquote
cite="mid:AANLkTin7xqMVH=n8Hm0EpHexN4T4ykrC2wPAUH6PCkme@mail.gmail.com"
type="cite">
<pre wrap="">
また、1行目に列挙するテーブル数に上限はあるのでしょうか?
</pre>
</blockquote>
現状では最大3テーブルまでとのことですが、<br>
その制限をなくしたいので質問いたしました。<br>
<br>
<blockquote
cite="mid:AANLkTin7xqMVH=n8Hm0EpHexN4T4ykrC2wPAUH6PCkme@mail.gmail.com"
type="cite">
<pre wrap="">以前のメールでの質問と内容が重複しますが、
基点テーブルは決まっていて、例えば「会員」、
その関連テーブルをどれだけ一緒に取得するかどうか、
が動的に変わるのでしょうか?
</pre>
</blockquote>
>
<a class="moz-txt-link-freetext" href="http://dbflute.sandbox.seasar.org/ja/manual/reference/example/exampledb.html">http://dbflute.sandbox.seasar.org/ja/manual/reference/example/exampledb.html</a><br>
動的に変わりません。<br>
<br>
<blockquote
cite="mid:AANLkTin7xqMVH=n8Hm0EpHexN4T4ykrC2wPAUH6PCkme@mail.gmail.com"
type="cite">
<pre wrap="">それとも、基点テーブルは「会員」かもしれないし、
「購入」かもしれないし、と完全にどんなテーブルが
来るのかわからないのでしょうか?
</pre>
</blockquote>
その通りです。<br>
<br>
おっしゃっている通りに、難しそうですので、<br>
jdbcを使うことにしました。<br>
<br>
宜しくお願いします。<br>
<br>
<blockquote
cite="mid:AANLkTin7xqMVH=n8Hm0EpHexN4T4ykrC2wPAUH6PCkme@mail.gmail.com"
type="cite">
<pre wrap="">
2011/3/23 Nguyen Vu Hung (VNC) <a class="moz-txt-link-rfc2396E" href="mailto:vuhung@vinicorp.com.vn"><vuhung@vinicorp.com.vn></a>:
</pre>
<blockquote type="cite">
<pre wrap="">金子さん、久保さん、
いつもお世話になっております。vuhungと申します。
課題の発生契機としは、複数のテーブルから、運用者が
設定可能なSELECT文をSeasarで抽出・加工し、csvファイルに落とす
夜間に実行するバッチを作成したいのです。
以前のメールで書きましたように、「SELECT文」では、1つまたは
複数のテーブルの可能性があります。
例として、
yomikomi.txtファイルにて
1行目:<table name 1>, <table name 2>
2行目:select文の記載
「yomikomi.txtファイル」ファイルはJAVAプログラマの管理対象外で、
select文のとおりにデータを抽出し、加工作業を加え、csvファイルを落とせばよいです。
厄介なのは、一行目のテーブル数がJAVA側では想定の範囲外です。
なので、外出しSQLであろが, ConditionBean(条件付きBean)であろが、
結局、形の決まったBeanにマッピングしなければならないと思っています。
</pre>
<blockquote type="cite">
<pre wrap="">[Seasar-user:18921] 【DBFlute】 SQL文の直接実行
<a class="moz-txt-link-freetext" href="http://ml.seasar.org/archives/seasar-user/2009-November/018922.html">http://ml.seasar.org/archives/seasar-user/2009-November/018922.html</a>
</pre>
</blockquote>
<pre wrap="">これは別の課題だと思います。
#もちろん、標準のjdbcを使う手はあります。
ご不明点がありましたらご連絡下さい。
宜しくお願いします。
(2011/03/22 10:05), kubo wrote:
久保(jflute)です。
こんにちは、Nguyen さん
難しい問題と思われるので、より詳しい情報を
提供して頂けると助かります。
(運用者が)SELECT文をテキストファイル記入させますが、
この点がちょっとこちらでは理解できて
いませんので、もっと詳細な説明を下さい。
これは、アプリケーションの利用者(運用者)が、
テキストファイルにSQL文(select文)を書いて、
そのSQLをアプリケーションで実行するという
ことでしょうか?
もし、そうであるならば、結合の方法以前に、
そもそもその機能をどうやって実現しようと
想定していますでしょうか?
(ConditionBean or OutsideSql?)
また、そのSQLの結果はどのような目的に
利用するのでしょうか?(画面に表示する?)
そのテーブル内のテーブル数は事前に想定できない場合は
(DBFluteのプログラマが)O/Rマッピングの対応はどうすればよいでしょうか
DBFlute の ExampleDB で例えると、
// ExampleDB | DBFlute
<a class="moz-txt-link-freetext" href="http://dbflute.sandbox.seasar.org/ja/manual/reference/example/exampledb.html">http://dbflute.sandbox.seasar.org/ja/manual/reference/example/exampledb.html</a>
検索対象が「会員」だけでなく、
「会員ステータス」を含んだり「会員退会情報」を含んだりと、
FKで結ばれる、もしくは、FKで結ぶことが可能なテーブルを
(運用者の)状況次第で動的に取得(結合)したりしなかったりする、
と考えてよろしいでしょうか?</pre>
</blockquote>
</blockquote>
<br>
</body>
</html>