私は SSIS を初めて使用し、リモート サーバーからのファイルの読み取りに関する問題に直面しています。
プロジェクトレベルで定義されたフラットファイル接続があり
ConnectionString
、変数 say によって定義されています@AbsoluteFilePath
。の値は
@AbsoluteFilePath
実行時に UNC に計算されます。\\myserver\myfolder\myfile.txt
パッケージの実行を呼び出す Web アプリケーションがあります。
ログインしたユーザーとしてファイル フォルダーを表示できますが、ファイルの読み取り中にパッケージの実行がエラーで終了します。
のエラーメッセージで実行が失敗します
return code 0XC020200E
SQL 2012 が実行されているマシンにUNC
\\myserver\myfolder
をマッピングしようとしました。Z:
ただし、これでも同じエラーが発生します。
SSIS で UNC を使用することはお勧めできますか? このタスクを行う標準的な方法は何ですか?
以下は、私が達成しようとしている完全なワークフローです。
全体像
ユーザーが Web フロント エンドでファイルを選択します。Web アプリケーションはファイルを共有ドライブに保存し、SSIS パッケージを呼び出して実行します。SSIS パッケージは共有ドライブからファイルを読み取り、必要なアクションを実行します。
更新 : アクセス許可の説明とストアド プロシージャからの SSIS パッケージの実行
- Web アプリケーション X はサーバー上で実行されますserver-web
- SSIS パッケージ Y はサーバーserver-ssisで実行されます
- サーバー上のデータベースにアクセスします
- サーバーサーバーファイルシステム上のUNCにアクセスします
パッケージは、ここに記載されているストアド プロシージャを実行することによって実行されていますhttp://msdn.microsoft.com/en-us/library/ff878099.aspx
server-webで使用される接続文字列 は次の形式です
Data Source=server-ssis;Initial Catalog=SSISDB;Integrated Security=SSPI;