- PR -

SQLServer ストアドプロシージャのデバッグ実行

1
投稿者投稿内容
でか
会議室デビュー日: 2005/01/18
投稿数: 11
お住まい・勤務地: 東京都
投稿日時: 2005-01-26 14:05
いつも参考にさせていただいております。
早速質問なのですが、

SQLServer2000でストアドプロシージャを作成し、
デバッグ実行を行おうとしているのですが、
クエリアナライザのオブジェクトブラウザからデバッグしたいストアドを右クリックし、
デバッグを選択すると、そのストアドの入力パラメータの値を設定するダイアログが
出てくるのですが、
その入力パラメータの中にDateTime型の変数があり、
その項目にどのように値をセットして良いか分かりません。
以下のような値を入力してみたのですが、うまくいきません。

・2005/01/01
・20050101
・CAST('2005/01/01' AS datetime)

とすると、
「[Microsoft][ODBC SQL Server Driver]キャストした文字コードが正しくありません。」

というエラーメッセージが出力され、実行することができません。

どなたか、ご存知の方がいらっしゃいましたら、お教え願えますでしょうか。
よろしくお願いいたします。

また、入力パラメータを設定するダイアログが出る前に、

「SQLServerがサービスとして実行されるように設定しているときは、
'ローカルシステムアカウント'でログオンした場合は、SPデバッグは動作しません。
イベントビューアを開いて、詳細を調べてください。
続行しますか?」

というメッセージが出てくるのですが、解決方法をご存知でしたら、
お教えください。

以上です。
mso
ぬし
会議室デビュー日: 2003/12/04
投稿数: 496
お住まい・勤務地: 宮城
投稿日時: 2005-01-26 14:21
msoです。

デバッグ方法があったのは知らなかったのですが、
私は
コード:
print @変数名



とやっていました。
現象から推測するのですが、
変数に時間に変換できない値が入っていたために
エラーになったのでないでしょうか?
#”2005/1010”みたいな値

ってここまで書いて気が付いたのですが、
ストアドの入力パラメータにDateTimeがあるんですよね?
であればDateTimeで宣言した変数に値を入れてそれを
渡したらどうでしょうか?
それでもダメな場合は本当にDateTimeかどうかを確認すると良いかもしれません。
でか
会議室デビュー日: 2005/01/18
投稿数: 11
お住まい・勤務地: 東京都
投稿日時: 2005-01-26 14:59
入力パラメータにDateTime型は存在します。
入力した値は、書いた通りのパターンを試しましたが、
うまくいきません。。

何度も試したのでタイプミスはないと思います。
えんぞ@?
ぬし
会議室デビュー日: 2004/07/06
投稿数: 271
お住まい・勤務地: はまっこ
投稿日時: 2005-01-26 15:24
試してはいないので、直感...

'2005/01/01'
'2005/01/01 10:00:00'

# うろ覚えでは、日付&文字型は括らないといけなかったような

[追記]
括る必要はなかったようです...orz
2005/01/01
のみで実行可能なはずです。


[ メッセージ編集済み 編集者: えんぞ@見習 編集日時 2005-01-26 15:30 ]
でか
会議室デビュー日: 2005/01/18
投稿数: 11
お住まい・勤務地: 東京都
投稿日時: 2005-01-26 15:44
やはり2005/01/01や2005/01/01 10:00:00でもダメなようです。
「'」で囲っても試してみましたが、ダメでした。

もしかして他のパラメータでエラーになっているのかと思い、
DataTime型のパラメータ1つ以外は全て
「NULLに設定」というチェックボックスをONにして試しましたが、

「[Microsoft][ODBC SQL Server Driver]キャストした文字コードが正しくありません。」

というメッセージが出力されてしまいます。
DateTime型を使っていないストアドの実行はすんなり行くのですが。。

何か環境面に問題があるのでしょうか?

ジエゴ
常連さん
会議室デビュー日: 2003/12/08
投稿数: 26
お住まい・勤務地: ヨコハマ
投稿日時: 2005-01-26 16:12
引用:

でかさんの書き込み (2005-01-26 15:44) より:
やはり2005/01/01や2005/01/01 10:00:00でもダメなようです。



2005-01-01でわ??
でか
会議室デビュー日: 2005/01/18
投稿数: 11
お住まい・勤務地: 東京都
投稿日時: 2005-01-26 16:24
解決!

皆様ありがとうございました。
ジエゴさんのおっしゃった「2005-01-01」でOKでした。

ほんとにありがとうございます。
1

スキルアップ/キャリアアップ(JOB@IT)