[Seasar-s2dotnet 110] Re: S2DAO.NETのFirebird対応に関して

Ota Wataru ota
2006年 1月 13日 (金) 11:06:26 JST


Ota Wataruです

藤井さんよろしくです

> テスト環境はOracleのEMP表をベースに作ったものですが、一部の列にデータを
> 格納するようなクラスを作って、InsertやUpdateをしようとするとエラーが発生
> します。

確認してみましたがパラメータクエリーのバインド変数へ名称の設定が
失敗していたのでBindVariableNode.csの該当箇所を修正しコミット
しておきました。

> Firebirdの.NET Providerのドキュメントを調べてみると、
>  custDA.InsertCommand = new FbCommand("INSERT INTO customer (CustomerID,
> customer) " + "VALUES (?, ?)", conn, txn);
>  custDA.UpdateCommand = new FbCommand("UPDATE customer SET custno =?,
> customer = ? " + "WHERE custno = ?", conn, txn);
> とありました。
> DataProviderUtilクラスのGetBindVariableTypeメソッドの中でFirebirdは
> BindVariableType.Questionではないかと思いますが、いかがでしょうか?

此方で確認している.NET Providerのバージョンは公式サイトに
>Version 1.7.0a is the most recent stable version
とあるので1.7.1では試していませんが

1.7.1もSDKドキュメントのFbParameterクラスには

> Parameter names are not case sensitive

  myDataAdapter.SelectCommand.Parameters.Add("@CategoryName", FbDbType.VarChar, 80).Value = "toasters";
  myDataAdapter.SelectCommand.Parameters.Add("@SerialNum", FbDbType.Integer).Value = 239;
  myDataAdapter.Fill(myDataSet);

とあるので現状で現状でOKではないかと・・・
時間が無かったので?マーカでの動作確認はしていません

Firebirdへの対応要望があったため実装してみましたが、Firebirdに関して
の知識を持ち合わせておりませんorz
(今回の対応の為に始めてセットアップしました)

なので、詳しいのであれば今後は藤井さんにFirebirdに関する部分はお願い出来ると
助かります。



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