web-dev-qa-db-ja.com

SQL Server 2014 SSISパッケージはエージェントとして実行するとスクリプトタスクを無視します

了解しました。これが私が進めていることです。本番システムのデータをクエリしてCSVにドロップするSSISパッケージ。 VBスクリプトタスクをサードパーティにアップロードするスクリプトタスクがあります。認証付きのマルチポストHTTPポストと、サードパーティのヘッダーで送信されるいくつかの特定のフィールドが必要なため、カスタムを実行する必要がありました。 VB Web宛先を使用する代わりにスクリプト。

ForEachループがあり、スクリプトを介して各ファイルをアップロードしてから削除します。 BIDSでうまく機能します。しかし、SSISパッケージストアにアップロードすると、アップロード部分が機能しません。ただし、ファイルはまだ削除されているため、エラーは発生しません。

Control flow

クエリ部分は機能し、CSVを吐き出します。スクリプトタスクはファイルを削除するだけで、何もしません。

パッケージとスクリプトにログインするあらゆる種類のSSISをスローしました。スクリプトの最初の行に "Hello World"ログをスローしましたが、起動されませんでした。

私がやったこと:

フルアクセスでプロキシを作成し、新しいCredsおよびSQLログインにリンクしました。何もない。 SQLログインに、すべてに対する権利を付与し、何も付与しないようにしました。新しいプロキシ実行アカウントおよびサービスアカウントとしてパッケージを実行します。 SQL AGENTサービスを実行するアカウントも変更しました(新しいSQLサーバー、今それを台無しにすることが許可されています)。パッケージを32ビットの何も実行しなかった。 「ローカルのコピー= True」として設定されているScriptTask参照に関連付けられていると思いましたが、それは変更され、何も変更されませんでした。

BIDSでA-OKで動作し、この同じスクリプトを別のクライアントの環境で使用したところ、問題なく動作しました。他に何を試したらよいかわかりません。何か案は?必要に応じて、コード部分をアップロードできます。

Credentials

SQLヘルプ履歴

6
bvankampen

これは、VS 2015がSQL Server 2016のみをサポートするように構築されており、SQL Server 2014以下(サポートされていないバージョン)でパッケージを展開したために発生しました。

VS 2015の最新バージョンのデータツールを使用すると、パッケージ内の対象のSQLサーバーバージョンを選択して、SSDTがスクリプトコンポーネントで使用される正しい.NETライブラリを選択できるようにすることができます。

詳細はこのリンクを参照してください

2
DhruvJoshi

私のSSISパッケージは元々VS2013で作成されたもので、このプロジェクトのためにVS2015に移行しました。 Visual Studioでは問題なく動作しましたが、SQL AGENT JOBとして実行しているときにアップロードスクリプトを呼び出すことができず、新しい環境にいるため、他に何か問題があると思いました。

VS2013 + 2013年のData Tools BIエディションをインストールし、元のパッケージを開いて+ SSISパッケージストアにアップロードし、SQLエージェントジョブとしても正常に動作します。 2015年に移行したときにスクリプトタスクがスキップされた理由はまだゼロですが、現在は機能しているので、理由がわからなくても大丈夫です。

0
bvankampen