[seasar-dotnet:1895] Re: [DBFlute]OutsideSQLでのエラー

kubo [E-MAIL ADDRESS DELETED]
2010年 12月 16日 (木) 22:11:34 JST


久保(jflute)です。

こんばんは、uparrowさん
取り急ぎですが、

o ORA-12704 がOracle的にどんなときに発生するエラーなのか
o カラムの型はどんな型なのか (特にパラメータとして使っているINPUT_TIME)
 -> character set mismatch というメッセージがあるので型が疑わしいので
o OutsideSqlTest は動くか?
 -> /*pmb.INPUT_TIME*/ はコメントとしてみなされていれば通る筈(!?)

など、この辺りの情報も一緒に出して頂けると、
もっとML閲覧者も追求がしやすいと思います。

2010/12/16  <[E-MAIL ADDRESS DELETED]>:
> こんばんは、uparrowと申します。
>
> DBFluteのOutsideSQLでinsertを発行する必要があるのですが、
> 問題が発生してしまいメールいたしました。
> PKがないテーブルへデータをINSERTする必要があるためOutsideSQLで実行したい
> のですが、次のようなログが出力され失敗します。
>
> /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
> The SQL failed to execute!
>
> [Advice]
> Please confirm the Exception message.
>
> [Exception]
> Seasar.Framework.Exceptions.SQLRuntimeException
> [ESSR0071]SQLException occured, because System.Data.OracleClient.OracleException: ORA-12704: character set mismatch
>
>   場所 System.Data.OracleClient.OracleConnection.CheckError(OciErrorHandle errorHandle, Int32 rc)
>   場所 System.Data.OracleClient.OracleCommand.Execute(OciStatementHandle statementHandle, CommandBehavior behavior, Boolean needRowid, OciRowidDescriptor& rowidDescriptor, ArrayList& resultParameterOrdinals)
>   場所 System.Data.OracleClient.OracleCommand.ExecuteNonQueryInternal(Boolean needRowid, OciRowidDescriptor& rowidDescriptor)
>   場所 System.Data.OracleClient.OracleCommand.ExecuteNonQuery()
>   場所 Seasar.Framework.Util.CommandUtil.ExecuteNonQuery(IDataSource dataSource, IDbCommand cmd)
>
> [NextException]
> System.Data.OracleClient.OracleException
> ORA-12704: character set mismatch
>
>  ErrorCode = -2146232008
>  HelpLink  =
>
> SQLは
>
> -- !df:pmb!
> -- !!string              DISPO_FLAG!!
> insert into FAPAC_LOG_TBL (DISPO_FLAG, INPUT_TIME, FUNC_NO, TEHAI_NO) values ('0', /*pmb.INPUT_TIME*/'000000', '00',
> '0000000000' )
>
> というものです。
> ただ、試しに、このSQLをパラメータを全く使用しない
> insert into FAPAC_LOG_TBL (DISPO_FLAG, INPUT_TIME, FUNC_NO, TEHAI_NO) values ('0', '000000', '00', '0000000000' )
> このようにして実行した場合は問題なくINSERTできるのです。
>
> どのあたりに原因があるのか全くわからず、なにか少しでも情報があればと思い
> メールさせていただきました。
>
> なお、Oracleとの接続はOracle用プロバイダクラスで行っております。
>
> よろしくお願いいたします。
> _______________________________________________
> seasar-dotnet mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-dotnet
>


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