1

私はSSISにかなり慣れていないので、簡単に思える何かを理解するのに苦労しています。

サーバーAでは、「C:\ SourceFiles \ Patients」に10個のファイルがあります(これらのファイルはPDFです)。私はこれらの10個のファイルの名前を知っていますが、それらは変更されません。また、DBサーバーであり、SSISパッケージが配置されるサーバーBがあります。私の目標は、患者を含むDBテーブルをループし、患者データを10個のソースファイルに追加して(ファイルの名前を変更)、この新しいファイルをサーバーAに保存することです。

私はこれのほとんどをすでに実行しています。現在、これはすべて、DBアクセスにADO.NETを使用するスクリプトタスクで発生しており(サーバーBのDBテーブルに既にアクセスしています)、ローカルCドライブのソースファイルにアクセスしています。

ソースファイルのパッケージ構成でサーバーAを指定する方法がわかりません。既存のフォルダー(C:\ SourceFiles \ Patients)を指定するファイル接続がありますが、サーバーではなくフォルダーの場所のみを指定します。このファイル接続にサーバーAを指定するにはどうすればよいですか?または、サーバーA接続でこのファイル接続を使用するにはどうすればよいですか?どういうわけか、これを把握するのが本当に大変です!!

私が使用しているテクノロジは、Visual Studio 2008、SSISスクリプトタスクのC#、SSISスクリプトタスクのADO.NET、およびSQL Server Management Studio 2008です(SSISパッケージはここにインポートされます)。

私を正しい方向に向けてくれてありがとう!

4

1 に答える 1

1

あなたがやろうとしていることにいくつかの問題があります。

PDFは画像形式(ドキュメントの画像)であるため、SSISで簡単に操作することはできません。一般に、SSIS内からファイルを操作している場合、CSVやその他のテキスト形式などのフラットファイルになります。

スクリプトタスクを使用してSSIS内ですべての作業を行うと、SSISの機能を適切に使用できなくなります。SSISプロジェクトにあるのがスクリプトタスクだけの場合は、C#またはVB.netを直接使用し、プロジェクトにSSISをまったく関与させないようにする必要があります。

とはいえ、UNC(Universal Naming Convention)パスを使用してサーバーA上のファイルにアクセスする必要があります。これを機能させるには、SSIS内の権限に細心の注意を払う必要があります。SSISジョブを実行すると、特定のユーザー(通常はSQL Serverエージェントユーザー)で実行され、そのユーザーにはサーバーAのフォルダーにリモートでアクセスするためのアクセス許可が必要になります。これらの権限がすべて正しく設定されている場合、PDFが含まれるディレクトリへのポインタとして\\ ServerA \ ShareName \Patients\に似たものを使用できます。

于 2012-09-09T18:30:02.740 に答える