[seasar-dotnet:2112] Re: [DBFlute.NET]OutsideSQLのインサート時の警告ログ
kubo
[E-MAIL ADDRESS DELETED]
2011年 11月 19日 (土) 17:51:49 JST
久保(jflute)です。
uparrowさん、こんにちは
DBFlute.NETなので、ここはS2Dao.NETの挙動ですね。
S2Dao.NETだと、バインド変数コメントは null の値を警告とするようです。
基本的にはIFコメントで「null じゃなければ」と囲うことが推奨されます。
ちなみにJavaのDBFluteだと、検索系は null を許したくないので例外で、
更新系では null を許す必要があるので null も受け入れる、という仕様です。
また、内部でWARNログを出すことはないです。
ということで気にする必要はないですが、
邪魔であれば Log4netの設定で、BindVariableNodeのWARNログを
抑制してしてもいいかと思います。ただしその場合は、
検索系とかでパラメータが不意に null になってしまっても、
WARNログは出なくなります。
※DBFluteランタイム.NETを早く作りたいですねぇ...
2011/11/18 <[E-MAIL ADDRESS DELETED]>:
> uparrowと申します。
>
> DBFluteでAccessのデータベースに対してOutsideSQLでインサート処理を行っています。
> 処理自体は想定の内容で行われ問題ないのですが、その処理時に出力されるログに
> 気になる出力がありメールいたしました。
>
> 以下のようなログです。(他の部分を添付しました)
>
> 2011-11-18 11:25:55,666 [9] WARN Seasar.Dao.Node.BindVariableNode - Argument(pmb.FinishedDate) not found
>
> WARNで出力されるので、無視するわけにもいかず困っています。
>
> OutsideSQLを実行する部分は
> string path = AccTehaiFBhv.PATH_updateAtOkuridashi;
>
> AccAtOkuridashiPmb pmb = new AccAtOkuridashiPmb();
> pmb.ShijiNo = XXXX;
> pmb.WorkingQty = XXXX;
> pmb.DefectQty = XXXX;
> pmb.FinishedFlg = XXXX;
> pmb.FinishedDate = null;
> pmb.ProcessQty1 = XXXX;
> pmb.ProcessDate1 = XXXX;
> ....
> pmb.ProcessQty4 = 0;
> pmb.ProcessDate4 = null;
> ....
> accTehaiBhv.OutsideSql().Execute(path, pmb);
>
> のようにしており、nullを設定している箇所でWARNが出ているようです。
> これは、どのような警告を意味しており、何が問題なのでしょうか?
> また、どのようにして回避するのが良いのでしょうか?
>
> dbflute-0.8.9.32のバージョンを利用しております。
> OutsideSQLのSQLも添付します。(AccTehaiFBhv_updateAtOkuridashi.sql)
> ここで、該当するデータベースの項目の完了日、最終日付Xのデータ型は
> 日付/時刻型としております。
>
> 他に、Updateを行っている箇所や、別テーブルに対してのInsert,Update
> でも同様のログが出力されております。
>
> よろしくお願いいたします。
> _______________________________________________
> seasar-dotnet mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-dotnet
>
>
seasar-dotnet メーリングリストの案内