###前提・実現したいこと
Access(ODBC) - MySQL 間で、
カーソルを利用したストアドプロシージャを実行したい
###発生している問題・エラーメッセージ
下記に記すストアドプロシージャ(一部のみ記載)をAccessのADODBを利用し呼び出したところ、
通信が切断されている現象が発生しています。
想定であれば、OUTパラメータであるRETURN_CODE = 0 が返ってくるはずが、
RETURN_CODEは毎回違う値が返ってきます。(プロシージャ内で設定していない数字など)
該当のストアドプロシージャを呼び出した後に、
SQLを発行すると、(SELECT 1 など)
Lost connection to MySQL server during query と通知されます。
RETURN_CODEをAccess側に返せていませんが、
プロシージャ自体は最後まで実行されているようで、
データの更新は確認しています。
Access側に例外は通知されていないため、VBAの処理は停止せず、
正常な値ではありませんが、RETURN_CODEを受け取れています。
###該当のソースコード(構文は参考としてください。)
DECLARE cur CURSOR FOR SELECT * FROM USERS; OPEN cur; CLOSE cur; SET RETURN_CODE = 0;
###試したこと
上記コードは、原因の解析のためソースをシェイプアップしていったものです。
その結果、カーソルのオープン・クローズの部分で問題が発生していると判明しました。
カーソル部分をコメントアウトすると、正しくRETURN_CODEを受け取ることができます。
AccessからMySQLのストアドプロシージャを呼び出す際に、
カーソルは使用できない、もしくは、カーソルを利用するのに条件が必要など、
制約はありますでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。