[seasar-dotnet:791] Re: BooleanToIntCommandFactoryの利用について
Ryo Miyagi
[E-MAIL ADDRESS DELETED]
2008年 3月 11日 (火) 23:02:43 JST
吉田さん
宮城です。
> その後Daoのメソッドを実行すると、以下のエラーが発生します。
申し訳ありません。S2Container.NETのバグでした。
次バージョンで修正いたします。
もし、急いでいるようでしたら。
Seasar.Extension.ADO.Impl.BooleanToIntCommandのソースファイルに
下記のソースコードを追加してください。
public override IDataParameterCollection Parameters
{
get { return _parameters; }
}
以上、よろしくお願いいたします。
> いつもお世話になります。吉田@オプティクスです。
>
> 以下の環境で、BooleanToIntCommandFactoryを使用しようとしています。
> S2Container.NET 1.3.6
> ODP.NET 10.2.0.100
> Oracle 10.1.0
>
> Entityのフィールドをbool型で定義、対応するテーブルのフィールドはNUMBER(1,0)で
> 作成し、diconファイルのBasicCommandFactoryをBooleanToIntCommandFactoryに
> 置き換えました。
>
> <!--
> <component class="Seasar.Extension.ADO.Impl.BasicCommandFactory" />
> -->
> <component class="Seasar.Extension.ADO.Impl.BooleanToIntCommandFactory" />
>
> その後Daoのメソッドを実行すると、以下のエラーが発生します。
> ERROR 2008-03-11 13:11:27,405 [10]
> Seasar.Framework.Exceptions.SQLRuntimeException:
> [ESSR0071]SQLで例外が発生しました。理由はSystem.InvalidCastException: 型
> 'Seasar.Extension.ADO.Impl.BooleanToIntParameter' のオブジェクトを型
> 'Oracle.DataAccess.Client.OracleParameter' にキャストできません。
> 場所 Oracle.DataAccess.Client.OracleParameterCollection.Add(Object obj)
> 場所 Seasar.Extension.ADO.Types.BaseValueType.BindValue(IDbCommand
> cmd, String columnName, Object value, DbType dbType,
> ParameterDirection direction)
> 場所 Seasar.Extension.ADO.Types.BaseValueType.BindValue(IDbCommand
> cmd, String columnName, Object value, DbType dbType)
> 場所 Seasar.Extension.ADO.Types.BooleanType.BindValue(IDbCommand cmd,
> String columnName, Object value)
> 場所 Seasar.Extension.ADO.Impl.BasicHandler.BindArgs(IDbCommand
> command, Object[] args, Type[] argTypes) --->
> System.InvalidCastException: 型
> 'Seasar.Extension.ADO.Impl.BooleanToIntParameter' のオブジェクトを型
> 'Oracle.DataAccess.Client.OracleParameter' にキャストできません。
> 場所 Oracle.DataAccess.Client.OracleParameterCollection.Add(Object obj)
> 場所 Seasar.Extension.ADO.Types.BaseValueType.BindValue(IDbCommand
> cmd, String columnName, Object value, DbType dbType,
> ParameterDirection direction)
> 場所 Seasar.Extension.ADO.Types.BaseValueType.BindValue(IDbCommand
> cmd, String columnName, Object value, DbType dbType)
> 場所 Seasar.Extension.ADO.Types.BooleanType.BindValue(IDbCommand cmd,
> String columnName, Object value)
> 場所 Seasar.Extension.ADO.Impl.BasicHandler.BindArgs(IDbCommand
> command, Object[] args, Type[] argTypes)
>
>
> どのようにすれば、、BooleanToIntCommandFactoryを利用できますでしょうか?
>
> 以上、宜しくお願いいたします。
> _______________________________________________
> seasar-dotnet mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-dotnet
seasar-dotnet メーリングリストの案内