[seasar-dotnet:652] Re: ORACLEのDate型のWHERE句について

KIYOSUE Minoru [E-MAIL ADDRESS DELETED]
2007年 11月 16日 (金) 10:24:05 JST


宮城 様 ご回答ありがとうございます。

ログ表示と発行しているSQLが異なる件、承知いたしました。


> 原因を考えてみますので
> お手数ですが、下記の情報を教えていただけないでしょうか。

> ・Oracleのバージョン

Oracle Database 10g Enterprise Edition Release 10.2.0.3

> ・Oracle Data Provider for .NET のバージョン

ODP.net 10.2.0.3

> ・S2Dao.netのバージョン

1.3.2

> ・OracleのDATE型カラムの定義
>  (例: TBCOL2   DATE NULL)

TBCOL2 DATE NOT NULL

ちなみに。TBCOL1、TBCOL2ともPrimaryKey項目です

> ・OracleのDATE型カラムに対する.NETのプロパティの定義
>  (例:private System.DateTime tbcol2)

dtmTbcol2  As Nullable(Of DateTime)

以上の様になっております。


よろしくお願いいたします。


----- Original Message ----- 
From: "Ryo Miyagi" <[E-MAIL ADDRESS DELETED]>
To: <[E-MAIL ADDRESS DELETED]>
Sent: Friday, November 16, 2007 9:48 AM
Subject: [seasar-dotnet:651] Re:ORACLEのDate型のWHERE句について


> 清末さん
>
> 宮城です。
>
> 表題の件ですが、
> ログに出力しているSQLと
> 実際にOracleに発行しているSQLは違います。
>
> ログに出力しているSQLは、ログ表示用に日付文字列をフォーマットしており、
> 日付文字列のフォーマットは、
> Seasar.Extenstion.ADO.Impl.BasicCommandFactoryクラスの
> SqlLogDateFormatプロパティ及びSqlLogDateTimeFormatプロパティで
> 変更することが可能です。
>
> Oracleに発行しているSQLは、
> バインド変数を使用してDate型カラムの値を設定しています。
>
> 従って、Date型カラムの値が一致すればデータの取得が可能ですので
> DBのカラムをTO_CHARする必要はありません。
> 別の要因で取得できていないかと思います。
>
> 原因を考えてみますので
> お手数ですが、下記の情報を教えていただけないでしょうか。
> ・Oracleのバージョン
> ・Oracle Data Provider for .NET のバージョン
> ・S2Dao.netのバージョン
> ・OracleのDATE型カラムの定義
>  (例: TBCOL2   DATE NULL)
> ・OracleのDATE型カラムに対する.NETのプロパティの定義
>  (例:private System.DateTime tbcol2)
>
> 以上、宜しくお願いします。
>
> 07/11/15 に KIYOSUE Minoru<[E-MAIL ADDRESS DELETED]> さんは書きました:
> > お世話になっております、清末です。
> >
> > S2を使用した開発が、定着しつつあり、自分としては大変嬉しく思っている今日
で
> > す。
> >
> > さて、ORACLEを使用したプロジェクトでS2を使用する事となり、現在コーディン
グを
> > 開始しておりますが、Oracle の Date型カラムがWHERE句に含まれる自動生成SQL
> > で質問があります。
> >
> > ログを見ると
> >
> > SELECT
> >    ・・・・・・・・・・
> > FROM
> >    TABLEA
> > WHERE
> >    TBCOL1  = 'XXXXXXXXX'  AND
> >    TBCOL2  = '2007-11-15 12.17.20'
> >
> > (TBCOL2がDate型のカラムです)
> >
> > となっており、接続には、ODP.netを使用いたしております。
> >
> > 該当のRowが存在していますが、結果は、Nothingで戻ってきます。
> >
> > Oracleの場合、SQL上リテラル文字側をTO_DATEするか、DBのカラムをTO_CHARす
る
> > 必要があるのではないかと思うのですが、S2Dao.net(または、ODP.netの仕様?)
では
> > 上記のSQLで取得可能なのでしょうか?
> >
> > ご多忙中大変恐縮ですが、よろしくお願い申し上げます。
> >
> > _______________________________________________
> > seasar-dotnet mailing list
> > [E-MAIL ADDRESS DELETED]
> > https://ml.seasar.org/mailman/listinfo/seasar-dotnet
> >
>
>
> -- 
> Ryo Miyagi
> _______________________________________________
> seasar-dotnet mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-dotnet
>



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