ASP(Active Server Pages)を使用してMySQLのストアドプロシージャを実行する方法をどなたか教えて頂けますでしょうか?
環境
OS :Windows2000Server
WEBサーバー :IIS
DB :MySQL Ver5.1.22
ODBC :MyODBC Ver3.51
MySQLへの接続は、問題無く行えてそうなんですが
ストアドプロシージャの実行がうまくいきません。
ASPには、以下のようなコードを記述しています。
Set cn = Server.CreateObject("ADODB.Connection")
cn.ConnectionString = "Provider=MSDASQL;DRIVER={MySQL ODBC 3.51 Driver};SERVER=localhost;USER=root;PASSWORD=XXXX;DATABASE=XXXX;STMT=set names sjis;OPTION=2"
cn.Open
Set cmd = Server.CreateObject("ADODB.Command")
Set rs = Server.CreateObject("ADODB.Recordset")
cmd.ActiveConnection = cn
cmd.CommandText = "test2"
cmd.CommandType=adCmdStoredProc
set rs = cmd.Execute
・・・
test2というストアドプロシージャは、
begin
select * from テーブル名;
end
と、単純なselect文となっています。
IEでWEBページを開くと
エラー タイプ
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[MySQL][ODBC 3.51 Driver][mysqld-5.1.22-rc-community]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '{ call test2 }' at line 1
というエラーが表示されてしまいます。
0x80040E14 というエラーコードをネットで調べてみたりしたのですが
構文エラーというような説明が書かれており、何が原因なのか良く分からなく困っています。
何が原因なのか分かる方がいらっしゃいましたら
教えて下さい。
お礼
今まで、MyODBC 3.51.12 を使用していました。 現在の最新と思われるMyODBC 3.51.19 を入れて試しましたら 正常に動作しました。 temtecomai2さん どうもありがとうございました。 本当、助かりました。