ホーム › フォーラム › A5:SQL Mk-2掲示板 › パラメータ?
- このトピックには6件の返信、2人の参加者があり、最後ににより6年、 5ヶ月前に更新されました。
-
投稿者投稿
-
nakadaゲスト
ご教授お願いします。
データベース:アクセス
テーブルの内容を取得刷るため以下のSQLを実行すると、
日付の構文エラーが発生します。—[SQL]—————————————-
SELECT Date_Measure, Time_Measure
FROM Result_Data
WHERE Date_Measure >= #2013/1/1#
AND Time_Measure >= #1899/12/30/ 16:0:0#
—[結果]—————————————
[Microsoft][ODBC Microsoft Access Driver]クエリ式
‘Date_Measure >= #2013/1/1# AND Time_Measure >=
#1899/12/30/ 16Pa_RaM00Pa_RaM00#
日付の構文エラーです。
————————————————A5SQL Mk-2 のパラメータ関連で実行出来ないと判断し
オプションにある、パラメータ利用モードを利用しないに
変更しましたが結果は変わりませんでした
: を Pa_RaM0 に変換させない方法はあるのでしょうか?それとも、何か根本的に間違っているのでしょうか
ご教授お願いします。松原正和キーマスターnakadaさんこんにちは。
Microsoft Accessで日付リテラルは #yyyy/mm/dd#形式ではなく、#mm/dd/yy#形式のようですが、それでは如何でしょうか?。
A5:SQL Mk-2では、パラメータは 「:」でしていするか、「@」で指定するかのいずれかで、「#日付#」のような形式は「パラメータ利用モード」の設定値にかかわらず、パラメータとして扱われません。
以上よろしくお願いいたします。
こじじゲスト今回はじめてa5m2利用させていただきます。
FireBird3.0にODBC経由で接続しストアドを登録したいのですが
SQLの実行(プロシージャ)で
下記の:のパラメータ部分でエラーになってしまいます。
FETCH cur1 INTO in_X1, in_x2, in_x2;
INSERT INTO tbl_a (x1, x2, x3) VALUES ( :in_X1,:in_X2,:in_X3);
「パラメータ利用モード」を利用しないにしています。
SQLの実行(プロシージャ)で:を付加したままDBへ渡す方法はございますでしょうか?
ご教授のほどよろしくお願いいたします。こじじゲスト申し訳ございません。先ほどの例を訂正いたします。
FETCH cur1 INTO in_X1, in_X2, in_X3;
INSERT INTO tbl_a (x1, x2, x3) VALUES ( :in_X1,:in_X2,:in_X3);松原正和キーマスターこじじさんこんにちは。
ストアドプロシージャの定義で、途中の「;」(セミコロン)がA5:SQL Mk-2でコマンドの区切りとして解釈されたためではないでしょうか?。
メニューから[SQL(S)] – [ストアドプロシージャとして実行(0)]で、実行すると、セミコロンをコマンドの区切りとみなさなくなるので実行できるようにならないでしょうか?。
こじじゲスト早速のご連絡ありがとうございます。
説明が不足しておりました。ストアドの実行でなくCREATE PROCEDURE でストアドの登録でエラーになっております。
(「SQLの実行」実行位置:プロシージャモードでCREATE PROCEDUREを実行)下記SQL分をコメント化または:でなく固定値を指定すると問題なくストアドの登録ができます。
–INSERT INTO tbl_a (x1, x2, x3) VALUES ( :in_X1,:in_X2,:in_X3);
:を含んだ形でサーバに送信することはできますでしょうか?Firebirdのisqlなどでは問題なく登録できます。
メニューから[SQL(S)] – [ストアドプロシージャとして実行(0)]では
プロシージャの登録はできませんでした。A5:SQL Mk-2が総合的に優れているのでできればすべて
A5:SQL Mk-2で利用できればと思っております。松原正和キーマスターこじじさんこんにちは。
ODBCで接続となっていますが、FireBirdに接続となっていますが、専用接続ではいかがでしょうか?。
一応、プロシージャモードで実行すると、:などはパラメータとして認識されないはずなのですが、ODBCドライバの方でなにか追加の処理がなされているかもしれません。
-
投稿者投稿