SQL Server 2008 R2 SSISパッケージで Import/Export を定期実行する
SSISパッケージをウィザードで作成し、SQLエージェントで実行させる。
.csv ファイルのImportのケースについて記述。Exportは、この逆の設定になる。
DTS wizard を起動する
"C:\Program Files\Microsoft SQL Server\100\DTS\Binn\DTSWizard.exe"
データソースの選択
全般ページで、
データソース = "フラットファイルソース"
ファイル名 = import する .csv ファイルを選択
ロケール = "日本語”
コードページ = 932(shift-JIS)を選択
形式 = "区切り記号"
テキスト修飾子 = '"'(ダブルクオテーション)
ヘッダ行区切り記号 = {CR}{LF}
スキップするヘッダ行 = 0
"先頭データを列名として使用する" をチェック
詳細設定ページで、
import後の 各列 の 型定義
[次へ]
変換先の選択
変換先 = "SQL Server Native Client 10.0"
サーバ名 = import先のサーバ名
認証 = "SQL Server 認証を使用する"
ユーザ名/パスワードを指定する
データベース = import先のデータベース名
[次へ]
コピー元のテーブルおよびビューを選択
変換元 = import する .csv ファイル
変換先 = import先のテーブル名
必要に応じて、[マッピングの編集] や [プレビュー] を行う
[次へ]
パッケージの保尊および実行
"すぐに実行する" をチェック
"SSISパッケージを保存する" をチェック
"ファイルシステム" を選択
(SQL Server内に保存すると、転用ができずメンテナンス性も悪くなる)
"パッケージの保護レベル" は "すべてのデータをパスワードで暗号化する"
パスワードを設定する
[次へ]
SSISパッケージの保存
名前/説明 = 任意の名前、説明を設定
ファイル名 = SSISパッケージの出力先のパスを指定
(D:\ssis\CsvImport.dtsx など)
[次へ]
ウィザードの完了
設定内容の一覧を確認し [完了] とすると、
.dtsx ファイルが出力され、データ import が実施される
SQL Server Management Studio で job を構成する
SQL Serverエージェント > ジョブ を右クリックして "新しいジョブ" を開く
全般ページ
名前 = 任意の名前を指定
説明 = 必要により記述
ステップ ページ
※import先のテーブルに既にデータがある場合 trancate する(つまりdelete&insert)
新規作成
ステップ名 = 任意の名前を指定(RunDeleteなど)
種類 = Transact-SQLスクリプト(T-SQL)
データベース = import先のデータベース名
コマンド = USE [DBname]
GO
Truncate Table [dbo].[TableName];
[OK]
新規作成
ステップ名 = 任意の名前を指定(RunSSISpkgなど)
種類 = SQL Server Integration Service パッケージ
パッケージソース = ファイルシステム
パッケージ = 作成したSSISパッケージのパスを指定
[OK]
設定したパッケージのパスワードを聞かれるので入力する
スケジュールページ
定期実行するスケジュールを設定する
[OK]
(Windows Server 2008 R2, SQL Server 2008 R2, SSIS, DTS)
2015-01-24 16:11
nice!(0)
コメント(0)
トラックバック(0)
コメント 0