今回は代理で質問させていただきます。

 
SQLSERVERで作成したJOBをACCESS2000で起動したいのですが、どうすればいいでしょうか?
 
・SQLServerはSQLServer2000です。
・ACCESSはAccess2000です。
・SQLServer上にDTSとストアドを用意し、それをジョブでまとめています。
・順にDTSとかストアドを呼び出すにはSQLServerのクライアントをPCにインストールしなければならないのでだめだそうです。
・あくまでもSQLServerとAccess2000での連携で実行したいとのことです。
・クライアントにはMS-Office2000をインストールし、そのほかにはインストールをしたくないとのことです。
・配布するものはADPだそうです。
 

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:--
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答1件)

id:cx20 No.1

回答回数607ベストアンサー獲得回数108

ポイント300pt

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 の説明です。

id:orangenoel

回答ありがとうございます。

元々の質問者に連絡したところ、出来たとのことです。

ありがとうございました。

2005/02/01 15:21:37
  • id:orangenoel
    まだ、感激しているようです

    なんか凄く機嫌が良いですね。
    もう、ウキウキっぽいです。
    今回の質問は凄く良い回答を素早く得られたので…
    というよりかは、なんかハーゲンダッツをお礼にもらったので、
    その分、ポイント送信させて頂きました。(^-^;)
  • id:cx20
    ありがとうございます。

    >今回の質問は凄く良い回答を素早く得られたので…
    >というよりかは、なんかハーゲンダッツをお礼にもらったので、
    >その分、ポイント送信させて頂きました。(^-^;)

    お役に立てて幸いです。
    予想外に高ポイントだったのでびっくりしました。
    ありがとうございます。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません