SSIS

【SSIS】フラットファイル接続マネージャーをテキストファイルから生成する

SSISのデータ型はなるべく接続マネージャー or SQLで合わせておいた方がいいみたいな話をしたんですが、SQLはともかくフラットファイル接続マネージャーの設定は結構面倒です。 列名ぐらいなら定義時にヘッダをつけておけばいいんですが、データ型はちまちま…

【SSIS】SSIS覚書 - データフローのコンポーネント(3)

接続マネージャー スクリプト関連(1) (2) (3) SQL実行タスク データフローのコンポーネント(1) (2) (3) 前書き 前々回、前回の続きです。 一旦ここで使ったことがあるものは全部説明しきってしまいます。 知っておくべきこと データフローは各コンポーネント…

【SSIS】SSIS覚書 - データフローのコンポーネント(2)

接続マネージャー スクリプト関連(1) (2) (3) SQL実行タスク データフローのコンポーネント(1) (2) (3) 前書き 前回の続きです。今回も飽きるまで説明していきます。 参照変換 個人的には非常によく使うんですが、バッドノウハウだらけの面倒臭いやつです。 …

【SSIS】SSIS覚書 - データフローのコンポーネント(1)

接続マネージャー スクリプト関連(1) (2) (3) SQL実行タスク データフローのコンポーネント(1) (2) (3) 前書き 久しぶりにSSISの話でもしましょう。誰も求めてないと思いますが、日本にも多分、5人ぐらいはこう言う情報を欲しがっている人がいるはずです。そ…

【SSIS】スクリプトコンポーネントでStream(BLOB)を扱う

SQLのデータ型の中でも最も影が薄いと言うか、使うタイミングがよくわからないBLOBなんですが、SSISも一応対応しています。 SQL Serverだとntext、text、image(それぞれnvarchar(max)、varchar(max)、varbinary(max)の方を使うよう推奨されている)あたりが…

【SSIS】SSIS覚書-SQL実行タスク

接続マネージャー スクリプト関連(1) (2) (3) SQL実行タスク データフローのコンポーネント(1) (2) (3) 前書き SSISツールボックスから選べるタスクの中にSQL実行タスクがあります。 INSERT/UPDATE/DELETEは勿論、SELECTで値を取ってきて変数に入れるなんて…

【SSIS】Dynamics CRM用の接続マネージャーを作成する

カスタムタスク作るかもーと言ったけどあんま面白いことが思い浮かばなかったのでやめました。 さて、何でいきなりDynamics CRMの接続に関する話をしだしたのかと言うと、これを作るためです。 また、今回はUIも自作してみたいと思います。 前回、前々回の記…

【SSIS】カスタムデータフローコンポーネントで日本語の小文字を大文字に変換する

前回に引き続き、カスタムデータフローコンポーネントを作成してみます。 今回はもう少し踏み込んだ内容をやっていきたいと思います。以前[SSIS]日本語の小文字を大文字に変換すると言う記事でやったことを、カスタムデータフローコンポーネントで実装してみ…

【SSIS】カスタムオブジェクトの作成と配置

SSISで使用するタスクやコンポーネントは自作することが出来ます。 よく使う処理なんだけど通常のタスク/コンポーネントでは実現できず、毎回スクリプトを書かなきゃいけないような処理は自作を検討してみるのも一つの手段です。 ただし、自作のタスク/コン…

【SSIS】日本語の小文字を大文字に変換する

たまにある要件シリーズです。 半角カタカナを全角にする、とかなら文字マップ変換を使うのがベストなんですが、ひらがなやカタカナの小文字(「ぁ」とか「ゃ」とか)を大文字に変換する機能は流石についていません。 一応大文字⇔小文字の変換があるんですが…

【SSIS】NULLの値を一括置換する

こんなデータがあったとします。 hoge,piyo,fuga,hogehoge,piyopiyo,fugafuga,foo,bar 1,,1,1,1,,1, ,1,,1,,1,1,1 1,,,1,,,,1 ,,,,,,, 1,,1,,1,1,, 1,,1,,1,,1,1 1,,1,,1,1,1,1 1,1,1,1,1,1,1,1 このデータのNULLの部分を全部0にしたい、となると、派生列で…

【SSIS】ヘッダ付きのCSVにデータを追記する

データフローの「フラットファイル変換先」ではファイルを上書きするかどうかの選択をすることが出来ます。 Appendも出来るんだーと思ってうっかりチェックを外すと場合によっては痛い目を見ます。 特に何にもせずに実行した場合 例えばこんなINPUTのデータ…

【SSIS】SSISの派生列で数値判定

使うデータはこんな感じで。CSVで。 hoge,fuga,piyo 2,2,3 c,3,4 1,3,5 派生列の式 ちょっとアクロバティックですが、こんな感じのexpressionを書いてあげます。派生列名は「isNumeric」とでもしてあげますか。 (DT_I4)hoge == (DT_I4)hoge 当然このままだと…

【C#】Microsoft.SqlServer.Dts.Runtimeを使ってパラメータマッピングと結果セットを持つSQL実行タスクを作成する

おさらい タスクを作成する場合はPackage.Executables.Addを呼び出すことで可能となります。具体的に何のタスクを作成するかは「プログラムによるタスクの追加」という資料に記載されているSTOCKモニカーで指定することができます。 返ってくるExecutableク…

【C#】Microsoft.SqlServer.Dts.Runtimeを使ってDTSXを生成する

コードサンプル 下準備としてMicrosoft.SqlServer.ManagedDTSを参照設定に追加しないといけないんですが、.NETタブからは見つけられなかったので、C:\Windows\assembly\GAC_MSIL\配下を探してみてください。 using Microsoft.SqlServer.Dts.Runtime; namespa…

【SSIS】SSIS覚書-スクリプト関連(3)

記事のフォーマットを他とあわせるついでに全体的に加筆・修正しました。 [2014/06/30追記ここまで] SSIS覚書シリーズ一覧 接続マネージャー スクリプト関連(1) (2) (3) SQL実行タスク データフローのコンポーネント(1) (2) (3) 前書き 意外と知られていない…

【SSIS】SSIS覚書-スクリプト関連(2)

記事のフォーマットを他とあわせるついでに全体的に加筆・修正しました。 [2014/06/30追記ここまで] SSIS覚書シリーズ一覧 接続マネージャー スクリプト関連(1) (2) (3) SQL実行タスク データフローのコンポーネント(1) (2) (3) 前書き 前回はスクリプトタス…

【SSIS】SSIS覚書-スクリプト関連(1)

記事のフォーマットを他とあわせるついでに全体的に加筆・修正しました。 [2014/06/30追記ここまで] SSIS覚書シリーズ一覧 接続マネージャー スクリプト関連(1) (2) (3) SQL実行タスク データフローのコンポーネント(1) (2) (3) 前書き なんだかSSISのスクリ…

【SSIS】SSIS覚書-接続マネージャー関連

記事のフォーマットを他とあわせるついでに全体的に加筆・修正しました。 [2014/06/30追記ここまで] SSIS覚書シリーズ一覧 接続マネージャー スクリプト関連(1) (2) (3) SQL実行タスク データフローのコンポーネント(1) (2) (3) 前書き SSISは日本語のノウハ…