1

私は単純な SSIS パッケージを持っています。これは、データベースから値を取得する制御フローに SQL タスクの実行コントロールを持っています。

DataFlow では、'Excute SQL Task' によって指定された値に基づいてこれを行うスクリプト コンポーネントを使用しています。

public override void CreateNewOutputRows()
    {

        try
        {

            string loginURL = "http://maps.googleapis.com/maps/api/geocode/xml?address=" + Variables.ProjectAddress + "&sensor=true";
            WebClient client = new WebClient();

            string downloadString = client.DownloadString(loginURL);
            XmlDocument xml = new XmlDocument();
            xml.LoadXml(downloadString);

    ///// setting output buffer variables
         }
       catch(Exception ex)
       {

       }
}

基本的に、パッケージ内の緯度と経度の Web サービスを要求しています。取得された値は、データベースに更新されます。

Visual Studio SSIS プロジェクト コンソールからパッケージを実行すると、すべて正常に動作します。しかし、SQL Server 2008 R2 ジョブを使用してパッケージを実行しようとしても、何も起こりません。ジョブは正常に実行されますが、行が更新 (または挿入) されません。

パッケージを SQL MSDB にインポートし、保護レベルをドロップダウン内のすべての項目に 1 つずつ設定してみまし ...そして、このインポートされたパッケージを SQL ジョブから実行します。それでも…何も起こらなかった。

誰が何が悪いのか知っていますか?? 次の事実をどのように処理しますか。

  1. これは、Web サービス要求を行うための sql ユーザーの許可に関係しています。どうすればそれを構成できますか?

2.インポートされたssisパッケージの構成ファイルと関係があります。何を探すべきですか?

助けてください: 問題を調査するために必要な情報がすべて提供されていることを願っています

4

1 に答える 1

1

お使いのコンピューターの SQL Server インスタンスにジョブがありますか? SQL Server から Web サービスを使用しているコンピューターへのファイアウォールまたはアクセス許可の問題である可能性があるため、お尋ねします。

また、エラーが発生しているかどうかを確認できるように、try catch を削除してパッケージ構成を有効にすることをお勧めします。

保護レベルに関しては、EncryptSensitiveWithUserKey を使用している場合、開発したコンピューター上にない限り、パッケージはデータベースの機密情報 (ログインとパスワード) をロードしません。同じことが EncryptAllWithUserKey にも当てはまりますが、この場合、パッケージを開くことさえできません

于 2012-04-10T12:22:51.243 に答える