AccessVBAからのストアド起動について
現在、Accessで元来の記述にストアド起動の1文を追加し、
SQLserver上のmasterデータベースに登録しているストアドを起動させようとしております。
起動方法として、xp_cmdshellを利用してみたのですが、
しかし、起動に必要なパラメータの受け渡しが上手くいかないため、動作が正常に行われません。
『』部は実際には定数が入っております。
VBA内容は以下の通りです。
・既存箇所
set DB = createobject( "adodb.connection" )
DB.oprn "PROVIDER = SQLOLEDB.SERVER = "『サーバIPアドレス』","『ログインID』","『ログインパスワード』"
~~~(ここで開いたDB中のテーブル上のデータを読み取るなど実行)
・追加しようとしている記述(Null時はNz関数で""に置換)
A = 「パラメータ1」
B = 「パラメータ2」
C = 「パラメータ3」
(これらは上記のDBからRecordsetで取得。必要な値が取得できることは確認済み)
strsql= "EXEC MATSER..xp_cmdshell ’EXEC mastter..『ストアド名』 & A & B & C & "'"
DB.Execute stersql
sqlserver上で起動するときは
EXEC mastter..『ストアド名』 'パラメータ1' ,'パラメータ2' ,'パラメータ3'
で起動することが確認記できております。
既存部でパラメータ引き渡しの必要のないストアドは動作しているため、
パラメータの引き渡しに問題があると判断しておりますが、
何パターンか変更してもうまく動かないため、
アドバイスをいただければと思います。
お礼
教えていただいた関数で取得できました。 ありがとうございました。