[seasar-dotnet:1124] Re: DBFlute 0.8.3 リリース

kubo [E-MAIL ADDRESS DELETED]
2008年 11月 7日 (金) 09:38:03 JST


久保(jflute)です。

中井さん、おはようございます。
ご報告ありがとうございます!

> P.S
> 0.8.3にアップ後、replace-schemaでExcelからの登録時に
> 「java.math.BigDecimal cannot be cast to java.lang.String」というエラーが
> 出ました。全セルの書式を文字列に設定したらうまくいったのでついでに報告します。
> (元々書式を文字列に設定していなかった私が悪いのですが・・・)

ありがとうございます。
すいません、これは恐らくSQLServer限定ですね。。。
Identity関連の処理のためSQLServerだけ内部処理が全然別に
なっており、一抹の不安がありました。
(sqlserver-exampleではOKだったのですが)
次バージョンでは、他のDBと同じ処理を利用するように調整
していますので基本的に発生しなくなるかと思います。
http://dbflute.sandbox.seasar.org/download/dbflute/dbflute-0.8.4.zip

2008/11/6 Nakai <[E-MAIL ADDRESS DELETED]>:
> 久保さん
>
> InternalProcedureHandler.vmnetを差し替え再生成、実行した所
> 正常に動作しました!!
>
>> 戻り値が存在していて、かつ、OUTパラメータが存在する場合に発生するようです。
>> OracleだとファンクションでOUTパラメータを使うと発生しました。
>> 恐らく発生したプロシージャは戻り値が存在するものではないでしょうか?
>
> create時に戻り値は定義していないのですが、
> SQLServerManagementStudioで見るとプロシージャに@return_valueという戻り値ができていたので、これだと思います。
>
> 素早いご対応ありがとうございました!!
>
>
> P.S
> 0.8.3にアップ後、replace-schemaでExcelからの登録時に
> 「java.math.BigDecimal cannot be cast to java.lang.String」というエラーが
> 出ました。全セルの書式を文字列に設定したらうまくいったのでついでに報告します。
> (元々書式を文字列に設定していなかった私が悪いのですが・・・)
>
> 中井
>
> kubo <[E-MAIL ADDRESS DELETED]> wrote:
>
>> 久保(jflute)です。
>>
>> こちら(Oracle)でも再現致しました。
>> (ちょっとテストの仕方で甘い部分がございました。。。)
>>
>> 戻り値が存在していて、かつ、OUTパラメータが存在する場合に発生するようです。
>> OracleだとファンクションでOUTパラメータを使うと発生しました。
>> 恐らく発生したプロシージャは戻り値が存在するものではないでしょうか?
>>
>> InternalProcedureHandler.vmnetを以下のURLから取得して、
>> お手元のものを差し替えて試していただけないでしょうか?
>> https://www.seasar.org/svn/sandbox/dbflute/trunk/dbflute/templates/om/csharp/allcommon/s2dao/internal/sqlhandler/InternalProcedureHandler.vmnet
>>
>> 2008/11/6 Nakai <[E-MAIL ADDRESS DELETED]>:
>> > 久保さん
>> >
>> > String型のOUTPUTパラメータでは、エラーは起きませんが、
>> > 結果がおかしいです。
>> >
>> > 実行したプロシージャのパラメータは
>> > @inputA varchar(8) = null,
>> > @inputB varchar(8) = null,
>> > @outputA char(1) = null output
>> >
>> > の3つですが、[E-MAIL ADDRESS DELETED][E-MAIL ADDRESS DELETED]に設定した値が入っています。
>> >
>> > エラーになった時のパラメータは
>> > @inputA varchar(8) = null,
>> > @inputB varchar(8) = null,
>> > @outputA int = null output
>> >
>> > なので、@inputBの文字列をintの@outputAに入れようとしてエラーに
>> > なっているのかもしれません。
>> >
>> > スタックトレースは、調査に支障のない範囲でマスクさせていただきました。
>> >
>> > 以上、よろしくお願いいたします。
>> >
>> > --------------------------------------------------------------
>> > 場所 XXX.AllCommon.S2Dao.Internal.SqlHandler.DbExceptionHandler.ThrowSQLFailureException(Exception e, IDbCommand cmd, String completeSql)
>> > 場所 XXX.AllCommon.S2Dao.Internal.SqlHandler.DbExceptionHandler.HandleDbException(Exception e, IDbCommand cmd, Boolean uniqueConstraintValid, String completeSql)
>> > 場所 XXX.AllCommon.S2Dao.Internal.SqlHandler.InternalBasicHandler.HandleDbException(Exception e, IDbCommand cmd, Boolean uniqueConstraintValid)
>> > 場所 XXX.AllCommon.S2Dao.Internal.SqlHandler.InternalProcedureHandler.Execute(IDbConnection conn, Object[] args, Type[] argTypes)
>> > 場所 XXX.AllCommon.S2Dao.Internal.SqlHandler.InternalBasicSelectHandler.Execute(Object[] args, Type[] argTypes)
>> > 場所 XXX.AllCommon.S2Dao.Internal.SqlHandler.InternalBasicSelectHandler.Execute(Object[] args)
>> > 場所 XXX.AllCommon.S2Dao.Internal.SqlCommand.InternalProcedureCommand.Execute(Object[] args)
>> > 場所 XXX.AllCommon.S2Dao.S2DaoInterceptor.DispatchInvoking(IMethodInvocation invocation)
>> > 場所 XXX.AllCommon.S2Dao.S2DaoInterceptor.Invoke(IMethodInvocation invocation)
>> > 場所 Seasar.Framework.Aop.Proxy.DynamicAopProxy.Intercept(IInvocation invocation, Object[] args)
>> > 場所 ProxyInterfaceSystemSystemObject_XXX_AllCommon_CBean_OutsideSqlOutsideSqlDao_System_Runtime_SerializationISerializable.Call(String path, Object pmb, OutsideSqlOption option)
>> > 場所 XXX.AllCommon.CBean.OutsideSql.Executor.OutsideSqlBasicExecutor.Call(ProcedurePmb pmb)
>> > 場所 XXX
>> > 場所 CProxyTypeXXX.callback__ConfirmMember4EveryCom(String , String )
>> > 場所 CProxyTypeXXX.__delegate_3.Call(Object[] )
>> > 場所 Castle.DynamicProxy.Invocation.AbstractInvocation.Proceed(Object[] args)
>> > 場所 Seasar.Framework.Aop.Impl.DynamicProxyMethodInvocation.Proceed()
>> > 場所 Seasar.Extension.Tx.Impl.LocalRequiredTxHandler.HandleTransaction(IMethodInvocation invocation)"
>> > --------------------------------------------------------------------------------
>> >
>> >
>> >
>> >
>> >
>> > kubo <[E-MAIL ADDRESS DELETED]> wrote:
>> >
>> >> 久保(jflute)です。
>> >>
>> >> 中井さん、こんばんは
>> >>
>> >> 申し訳ありません。
>> >> この件、まさしくここの修正で影響出たかもしれません。
>> >> http://ml.seasar.org/archives/seasar-dotnet/2008-October/001106.html
>> >>
>> >> 取り急ぎ確認ですが:
>> >>
>> >> エラーメッセージですが、もう少し詳細なものを頂けないでしょうか?
>> >> (スタックトレースとかないでしょうか?)
>> >>
>> >> また、String型のOUTPUTパラメータでは発生しますでしょうか?
>> >>
>> >> 2008/11/6 Nakai <[E-MAIL ADDRESS DELETED]>:
>> >> > 久保さん
>> >> >
>> >> > いつもお世話になっております。中井です。
>> >> > リリース後の報告になってしまいすいません。
>> >> >
>> >> > 0.8.3にアップ後のC#+SQLServer2005の
>> >> > ストアドプロシージャ実行でエラーになってしまいました。
>> >> >
>> >> > 【エラーメッセージ】
>> >> > {"型 'System.String' のオブジェクトを型 'System.Nullable`1[System.Int32]' に変換できません。"}
>> >> >
>> >> >
>> >> > 発生したストアドプロシージャの特徴はint型のOutputパラメータがある点です。
>> >> > outputパラメータ無では正常終了しました。
>> >> >
>> >> > 以上、よろしくお願いいたします。
>> >> >
>> >> >
>> >> >> 久保(jflute)です。
>> >> >>
>> >> >> http://dbflute.sandbox.seasar.org/download/dbflute/dbflute-0.8.3.zip
>> >> >> (DBFlute-0.8.3のSNAPSHOT)
>> >> >>
>> >> >> にて対応しました。
>> >> >> お手数ですが、ご確認頂けますでしょうか?
>> >> >> (dbflute-noracle-exampleにてExampleもございます)
>> >> >>
>> >> >> また、C#版DBFluteはテスト環境がMySQLとOracleしか
>> >> >> ありません。(Java版は7DB全てあるのですが...)
>> >> >> 他のDBでのプロシージャ実行に影響あるかどうかが
>> >> >> 確認できませんので、もしよろしければ、
>> >> >> ML読んでるどなたか試して頂けると非常に助かります。
>> >> >
>> >> >
>> >> > kubo <[E-MAIL ADDRESS DELETED]> wrote:
>> >> >
>> >> >> 久保(jflute)です。
>> >> >>
>> >> >> DBFlute-0.8.3をリリースしました。
>> >> >> http://dbflute.sandbox.seasar.org/index.html
>> >> >>
>> >> >> こちらのURLでダウンロード可能です。
>> >> >> http://dbflute.sandbox.seasar.org/download/dbflute/dbflute-0.8.3.zip
>> >> >>
>> >> >> DBFlute-0.8.2から0.8.3への移行時の注意
>> >> >> http://dbflute.sandbox.seasar.org/contents/migration/migrate-082to083.html
>> >> >> ※JDBCドライバ「db2java.zip」をご利用の方必ずご覧ください。
>> >> >>
>> >> >> {NEW}
>> >> >> (DBFLUTE-367){C#}: Oracleのストアドファンクションに対応する
>> >> >> (DBFLUTE-366){Java/C#}: データエクセルのテンプレートをダンプする
>> >> >> (DBFLUTE-365){Java}: MsAccessでInsert後のIdentityの取得に対応する
>> >> >> _______________________________________________
>> >> >> 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
>> >> >
>> >> _______________________________________________
>> >> 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
>> >
>> _______________________________________________
>> 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
>


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