C# と VB.NET の質問掲示板
ASP.NET、C++/CLI、Java 何でもどうぞ
C# と VB.NET の入門サイト
Re[2]: Oracle Date型のバインド変数の指定方法
(過去ログ 62 を表示中)
掲示板トップ
C# と VB.NET 入門
新規作成
利用方法/規約
トピック表示
ランキング
記事検索
過去ログ
[トピック内 6 記事 (1 - 6 表示)] <<
0
>>
■35823
/ inTopicNo.1)
Oracle Date型のバインド変数の指定方法
▼
■
□投稿者/ やじゅ
(997回)-(2009/05/14(Thu) 16:40:01)
分類:[データベース全般]
■環境
データベース Oracle 10.2.0
■質問
SI Object Browserや、VisualStudio等で、ストアドのデバッグをする際に
バインド変数がDate型のものに対して、日時の引渡し方法が分かりません。
検索しても見つけられなかったので、ご教示ください。
バインド変数をVARCHAR2型にして、TO_DATE(:iTARGET_YMD,'YYYY/MM/DD HH24:MI:SS')
とすれば出来るのですが、DATE型で渡したいです。
2009/05/12 10:30:00
↓
#2009/05/12 10:30:00# と#を付けるとエラー、ORA-01841: (周)年は-4713と+9999の間で指定してください。
※プログラム上での渡し方は分かります、ツールからの渡し方が分からない。
引用返信
編集キー/
編集
■35825
/ inTopicNo.2)
Re[1]: Oracle Date型のバインド変数の指定方法
▲
▼
■
□投稿者/ 魔界の仮面弁士
(1065回)-(2009/05/14(Thu) 17:36:40)
2009/05/14(Thu) 17:38:11 編集(投稿者)
■
No35823
(やじゅ さん) に返信
> ■環境
> データベース Oracle 10.2.0
> ■質問
> SI Object Browserや、VisualStudio等で、ストアドのデバッグをする際に
> バインド変数がDate型のものに対して、日時の引渡し方法が分かりません。
select * from v$nls_parameters を実行して、
NLS_DATE_FORMAT の値を確認してみてください。
もし、それが時刻部を含めた表記になっていないのであれば、
システム環境変数 NLS_DATE_FORMAT に「YYYY-MM-DD HH24:MI:SS」をセットしてから
Visual Studio を起動し、[Oracle エクスプローラ]からストアドを実行してみてください。
これで、『2009-05-14 17:07:01』の形式のパラメータも認識されるかと思います。
なお、当方の Oracle Developer Tools のバージョンは 10.2.0.2.20 です。
# SI Object Browser は使っていないので分かりません。
引用返信
編集キー/
編集
■35826
/ inTopicNo.3)
Re[1]: Oracle Date型のバインド変数の指定方法
▲
▼
■
□投稿者/ ぱると
(16回)-(2009/05/14(Thu) 17:37:47)
VisualStudioからデバッグする場合、バインド変数に設定する値を(VBまたはC#の)Date型にすれば良いんじゃないでしょうか?
引用返信
編集キー/
編集
■35827
/ inTopicNo.4)
Re[2]: Oracle Date型のバインド変数の指定方法
▲
▼
■
□投稿者/ ぱると
(17回)-(2009/05/14(Thu) 17:39:56)
>※プログラム上での渡し方は分かります、ツールからの渡し方が分からない。
あ…見てなかったです。
引用返信
編集キー/
編集
■35828
/ inTopicNo.5)
Re[1]: Oracle Date型のバインド変数の指定方法
▲
▼
■
□投稿者/ aetos
(140回)-(2009/05/14(Thu) 17:40:23)
■
No35823
(やじゅ さん) に返信
> ■環境
> データベース Oracle 10.2.0
>
> ■質問
> SI Object Browserや、VisualStudio等で、ストアドのデバッグをする際に
> バインド変数がDate型のものに対して、日時の引渡し方法が分かりません。
> 検索しても見つけられなかったので、ご教示ください。
VS はわかりませんが、Object Browser は、ツールから入力する変数の型はすべて VARCHAR2 になるという仕様のはず。
引用返信
編集キー/
編集
■35885
/ inTopicNo.6)
Re[2]: Oracle Date型のバインド変数の指定方法
▲
▼
■
□投稿者/ やじゅ
(998回)-(2009/05/15(Fri) 10:23:03)
魔界の仮面弁士さん、ぱるとさん、aetos さん
回答ありがとうございます。
やっとこさ確認すること出来たので、報告します。
■
No35825
(魔界の仮面弁士 さん) に返信
> select * from v$nls_parameters を実行して、
> NLS_DATE_FORMAT の値を確認してみてください。
>
> もし、それが時刻部を含めた表記になっていないのであれば、
> システム環境変数 NLS_DATE_FORMAT に「YYYY-MM-DD HH24:MI:SS」をセットしてから
> Visual Studio を起動し、[Oracle エクスプローラ]からストアドを実行してみてください。
まさにこれでして、NLS_DATE_FORMAT の値が「RR-MM-DD」となっておりました。
このNLS_DATE_FORMATの変更方法が理解できてなくて、ネットで検索した
alter session set NLS_DATE_FORMAT='yyyy/mm/dd hh24:mi:ss';
で設定して、出来ないなー出来ないなーと悩んでました。そりゃセッション単位ですもんね(^^;
システム全体での変更にすればいいのですが、開発途中段階で切替えるわけにもいかず…
とりあえず、自分の環境化だけ動作するか確かめるため、下記サイトを参考に
http://otn.oracle.co.jp/forum/thread.jspa?threadID=8001119
レジストリエディタで[HKEY_LOCAL_MACHINE]-[SOFTWARE]-[ORACLE]-[HOME0]の下に
[NLS_DATE_FORMAT]を追加して、値をyyyy/mm/dd hh24:mi:ssに設定をしました。
これによって、「Visual Studio」 と 「SI Object Browser」 で日時パラメータが
認識されるようになりました。
ありがとうございましたm(_ _)m
解決済み
引用返信
編集キー/
編集
トピック内ページ移動 / <<
0
>>
このトピックに書きこむ
過去ログには書き込み不可
管理者用
-
Child Tree
-