[seasar-dotnet:1933] Re: ストアド実行結果のファイル出力

八鍬達也 [E-MAIL ADDRESS DELETED]
2011年 2月 1日 (火) 09:36:37 JST


八鍬です。

>プロシージャ内の処理のトレースをするためにログをファイルに
>出力したいのかな?って思って先ほどコメントしましたが、
>そもそもコンソールに出そうと思っている内容が何なのか見えず、
>他のML閲覧者もアドバイスしづらいのかなと思ったので、
>もうちょい背景があると話が進みやすいのかなと思います。
おっしゃる通りです。
失礼いたしました。。。


背景としては、
売上データを様々な営業企画をもとに集計を行うといった趣旨のシステムに開発に携わっております。

環境は、
SQLSERVER2005とC#のDBFlute.NET-0.8.9.24<http://dbflute.net.sandbox.seasar.org/ja/environment/changelog/index.html>
 を使用した、
windowsフォームアプリケーションになります。
ストアドは、T-SQLで直接ユーザストアドプロシージャを作成しており、
CLRは使用しておりません。


その中で、売上データを集計する処理をストアドで実装しているのですが、
このデータの中には、不整合を起こす可能性のあるものやデータ型の合わないものも含んでいる可能性があります。
ですので、この処理中に該当するレコードでエラーが発生した際には、
処理の進捗や、データの登録内容、エラーの内容をコンソールに出力しています。
(T-SQLではPRINT ’hogehoge’を使用)


DBサーバがホスティングを利用しているため、
サーバ上に直接LOGファイルを出力するような方法がとれないかを検討しておりました。


OUTパラメータとLOG4NETの方法も手段のひとつとして考えられるのですが、
クライアント側にファイルが作られる点が問題でした。
(ネットワーク経由でサーバのフォルダ出力するとかの回避策はあるのですが。。。)

以上です。

2011年2月1日0:10 kubo <[E-MAIL ADDRESS DELETED]>:

> 久保(jflute)です。
>
> あと、ぜひこちらをお読み下さい。
>
> http://dbflute.sandbox.seasar.org/ja/manual/topic/office/feedback.html#background
>
> プロシージャ内の処理のトレースをするためにログをファイルに
> 出力したいのかな?って思って先ほどコメントしましたが、
> そもそもコンソールに出そうと思っている内容が何なのか見えず、
> 他のML閲覧者もアドバイスしづらいのかなと思ったので、
> もうちょい背景があると話が進みやすいのかなと思います。
>
> 2011/1/31 kubo <[E-MAIL ADDRESS DELETED]>:
> > 久保(jflute)です。
> >
> > 八鍬さん、こんばんは
> > まずは、データベース(DBMS)は何でしょうか?
> > ストアドプロシージャは DBMS ごとの方言が激しい領域
> > ですので、まずはここを明示された方が良いかと思います。
> >
> > DBFlute.NETのプロシージャ呼び出しは、
> > 単に ADO.NET に実行しているだけと言えますので、
> > そもそも ADO.NET でプロシージャ内部のコンソール
> > 出力内容をプログラムで取得できるのか?
> > あたりを探ってみた方が良いかと思います。
> > (ADO.NET でできないことは PmBean でもできないので)
> > とりあえず現状 DBFlute.NET では、プロシージャ内部で
> > 出力されたコンソールの内容に対して何か行うというような
> > ロジックは何もありません。
> >
> > プロシージャ内のログをファイルに出力したいというような
> > 話でしたら、プロシージャ内でコンソールに出力するのではなく、
> > 出力内容を文字列にしてプログラム側にOUTパラメータなどで
> > 渡して、プログラムで log4net 経由でファイルに出力するという
> > ような形も一つの選択肢かもしれませんね。
> >
> >> EXEC uspSamle1 'param' > Output.txt
> >
> > また場合によっては、これと同じコマンドをプログラムから
> > 呼び出してしまうというのも一つの選択肢かと思います。
> >
> > 2011/1/31 八鍬達也 <[E-MAIL ADDRESS DELETED]>:
> >> 八鍬と申します。
> >> PmBeanを使用したストアドプロシージャの実行について、
> >> 質問させて下さい。
> >>
> >> Windows等のコマンド上からストアドを実行した場合、
> >> --
> >> EXEC uspSamle1 'param' > Output.txt
> >> --
> >> などの記述でコンソールの内容をファイルに出力できます。
> >> これと同等のことをDbFluteのPmBeanを使用して実行した場合にも、
> >> 実装したいのですが、カスタマイズによって実現可能はでしょうか??
> >>
> >> --
> >> --
> >>
> ----------------------------------------------------------------------------
> >> 八鍬 達也
> >> Mail : [E-MAIL ADDRESS DELETED]
> >>
> >>
> >> _______________________________________________
> >> seasar-dotnet mailing list
> >> [E-MAIL ADDRESS DELETED]
> >> https://ml.seasar.org/mailman/listinfo/seasar-dotnet
> >>
> >>
> >
> _______________________________________________
> seasar-dotnet mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-dotnet
>
-------------- next part --------------
HTMLの添付ファイルを保管しました...
URL: <http://ml.seasar.org/archives/seasar-dotnet/attachments/20110201/b662a269/attachment.html>


seasar-dotnet メーリングリストの案内