SQLSERVERで作成したJOBをACCESS2000で起動したいのですが、どうすればいいでしょうか?
・SQLServerはSQLServer2000です。
・ACCESSはAccess2000です。
・SQLServer上にDTSとストアドを用意し、それをジョブでまとめています。
・順にDTSとかストアドを呼び出すにはSQLServerのクライアントをPCにインストールしなければならないのでだめだそうです。
・あくまでもSQLServerとAccess2000での連携で実行したいとのことです。
・クライアントにはMS-Office2000をインストールし、そのほかにはインストールをしたくないとのことです。
・配布するものはADPだそうです。
http://www.microsoft.com/japan/msdn/library/ja/jpado260/htm/...
Execute メソッド (ADO Connection)
SQL Server の Job は、「システム ストアド プロシージャ」である
「sp_start_job」という SP を利用することで実行できます。
Access から利用する場合は、通常 ADO 経由で実行することに
なると思います。
下記は、Access での ADO の使用例です。
(Access 2003 の ADP プロジェクトにて動作確認を行いました。)
’ 「モジュール」-「新規作成」で VBA のコードを追加します。
Option Compare Database
Sub ExecJob()
Dim cn
’ ADO の Connection オブジェクトを用意します
Set cn = CreateObject(”ADODB.Connection”)
’ Connection オブジェクトの Open メソッドにより DB に接続します。
’ SERVER = の部分には、サーバー名を記述してください。
’ 第2パラメータは DB 接続のためのユーザーID(UID)です。
’ 第3パラメータは DB 接続のためのパスワード(PWD)です。
cn.Open ”PROVIDER=SQLOLEDB;SERVER=(local);DATABASE=msdb”, ”sa”, ”password”
Dim strSQL
’ Connection オブジェクトの Execute メソッドにより sp_start_job を呼び出します。
’ ここでは、「jobTest」という名前の Job を呼び出しています。
strSQL = ”EXEC sp_start_job @job_name = ’jobTest’”
cn.Execute strSQL
End Sub
URL は sp_start_job の説明です。
回答ありがとうございます。
元々の質問者に連絡したところ、出来たとのことです。
ありがとうございました。