CSVファイルをAS400(IBM i)DB2にアップロード

CSVファイルをAS400(IBM i)DB2にアップロード

Goanywhere2022.09.09

インポートするデータベーステーブルは、入力ファイルと一致するように4列で定義されています。最初の列は、従業員IDで、整数として定義されます。
これは、表の主キーです。次に可変長文字として定義された姓と名の列、生年月日フィールドが続きます。

プロジェクトを作成する

GoAnywhere MFTでは、ワークフローメニューのプロジェクト項目をクリックしてプロジェクトエクスプローラにアクセスします。
次に、新しいプロジェクトを作成し、名前と説明を入力します。

プロジェクトデザイナーから、CSVタスクの読み込みをコンポーネントライブラリからプロジェクト概要にドラッグします。 Read CSVで、入力ファイルの場所を入力します。次に、データベースに挿入するときにデータを参照するために、後で使用される出力行セット変数名を指定します。この例では、「データ」を行セットの変数名として使用します。

作業しているCSVファイルには列見出しが含まれているため、無視するために[詳細設定]タブの[最初の行をスキップ]で 'true'を指定する必要があります。デフォルトではフィールド区切り文字は 'コンマ'に設定されていますが、作業中のファイルが別の文字(タブ、パイプ、コロンなど)で区切られている場合は設定を変更できます。また、ファイル内の各レコードがキャリッジリターン改行(CRLF)で区切られていない場合は、別のレコード区切り文字を指定する必要があります。

データの書式設定

CSVファイルからインポートするデータが、データベースの正しい形式でない可能性があります。たとえば、この例の生年月日は月 - 日 - 年としてフォーマットされ、MySQLでは年 - 月 - 日と見なされます。

GoAnywhereはデータがデータベースに置かれる前に、読み込むデータに書式設定を適用することができます。Read CSVタスクの間に、[追加]メニューをクリックし、[データオプションの指定]を選択します。次に、[追加]を再度クリックし、[列の追加]を選択します。

例の入力ファイルには4列含まれていますが、書式を無視する列を指定するだけで済みます。[基本]タブでは、[索引]で4を指定して4番目の列を参照できます。次に、タイプ変換タブで、タイプとして「日付」を指定し、パターン「MM-dd-yyyy」を入力します。これはGoAnywhereに生年月日の列が月 - 日 - 年形式であることを明示します。

この同様のプロセスは、数値を含む、または追加の書式設定の考慮事項が必要な他の列にも適用できます。

SQL挿入

コンポーネントライブラリから、Read CSVタスクの後にSQLタスクをプロジェクト概要にドラッグします。SQLタスクで、リソースのドロップダウンリストからデータベースサーバーを指定します。
データベースがまだ定義されていない場合は、フィールドの横にある「作成」ボタンをクリックして、データベースへの接続情報が定義できます。

次のステップは、SQL ステートメントを追加することです。これは、[ツールバーの追加]メニューをクリックし、[クエリの追加]オプションを選択することで実行できます。
指定される最初の質問では、データベーステーブル内の既存の行がすべて削除され、このプロセスを複数回実行できます。この例のテーブル名は「従業員」なので、SQL ステートメント記号のSQL「employees from delete」を使用します。
次に、別のクエリ要素をSQLタスクに追加する必要があります。これは、SQLタスクを右クリックして[クエリの追加]オプションを選択することで実行できます。

SQL ステートメント属性で、「employee(empid、lname、fname、bdate)の値(?,?,?,?)」に[挿入]を入力します。入力ファイルの各列に対して、パラメータ値 '?'を指定する必要があります。入力ファイルの各列に対して、パラメータ値 '?'を指定する必要があります。カンマで区切られています。

[入力行セット変数]で、[CSVの読み取り]タスクで使用した名前を指定します(たとえば$ {データ}など)。入力変数を指定するときは、変数名$ {[varName]}で囲みます。

プロジェクトを実行する

プロジェクト概要の Read CSV コンポーネントをクリックして、コントロールパネルを展開します。
コントロールパネルの[ログレベル]フィールドでは、生成されるログメッセージのレベルを指定することができます。プロジェクトのデザインや テストをしている間、デバッグログレベルは有用な情報を提供します。プロジェクトが意図したとおりに実行されたら、ログレベルを下げて、生成されるログの量を最小にすることができます。
実行するボタンを押します。プロジェクトがコンパイルされ、自動的に保存され、そして実行されます。プロジェクトが実行されると、ジョブログを見るリンクが表示されます。ログを確認したり、テキストファイルとしてダウンロードして、必要に応じてテクニカルサポートに送信することができます。ジョブログを見ると、CSVファイルが読み込まれ、古い行がデータベーステーブルから削除され、新しいデータがテーブルに挿入されたことがわかります。[完了]ボタンをクリックしてプロジェクトデザイナに戻り、[終了]をクリックしてプロジェクトマネージャに戻ります。