# スキーマでのカラムの長さを設定

## このタスクについて

スキーマの長さ設定は次の2つの目的で使用できます。

* データベーステーブルの作成時にテーブルカラムの長さを設定する。
* tSchemaComplianceCheckによって受信データを検証する。

このセクションでは、スキーマでの長さ設定を使ってデータベーステーブルのカラムの長さを設定する例を示します。tSchemaComplianceCheckを使ったデータ検証の詳細は、[データを検証](https://help.qlik.com/talend/ja-JP/components/8.0/validation/tschemacompliancecheck)をご覧ください。

## スキーマを使ってデータベーステーブルカラムの長さを設定

### このタスクについて

このトピックのジョブでは、データベーステーブルの作成時にスキーマカラムの長さ設定を使ってMySQLデータベーステーブルカラムの長さを設定する方法を示します。このジョブを実行するためには、必要な権限を持つ有効なMySQLユーザーアカウントが必要です。

![デザインワークスペースでのジョブ。](https://help.qlik.com/talend/ja-JP/studio-user-guide/Resources/images/schema-length-example_1.png)

次のステップに従い、ジョブを設定して実行します。

### 手順

1. Talend Studioを起動し、空の標準ジョブを作成します。
2. [Palette] (パレット)からtFixedFlowInputとtMysqlOutputをワークスペースにドラッグ＆ドロップします。
3. [Row] (行) &gt; [Main] (メイン)接続を使用して2つのコンポーネントを接続します。
4. tFixedFlowInputコンポーネントをダブルクリックして[Basic settings] (基本設定)ビューを開きます。
   1. [Edit schema] (スキーマを編集)の横にある[...]ボタンをクリックしてスキーマエディターを開き、カラム(この例では*testColumn*)を追加して[Type] (タイプ)をStringに、[Length] (長さ)を3に設定します。

      ![\[Schema\] (スキーマ)エディター。](https://help.qlik.com/talend/ja-JP/studio-user-guide/Resources/images/schema-length-example_3.png)
   2. [Use Single Table] (単一テーブルを使用)を選択し、[Values] (値)テーブルに文字列(この例では*abcdefg*)を入力します。
   3. 他のオプションはそのままにしておきます。

   このコンポーネントによって、作成するデータベーステーブルに書き込む文字列(つまり*abcdefg*)が設定されます。文字列の長さは7で、コンポーネントスキーマでのカラムの長さは3です。

   ![コンポーネントの\[Basic settings\] (基本設定)ビュー。](https://help.qlik.com/talend/ja-JP/studio-user-guide/Resources/images/schema-length-example_2.png)
5. tDBOutputコンポーネントをダブルクリックして[Basic settings] (基本設定)ビューを開きます。
   1. 対応するフィールドにユーザーアカウントの認証情報を入力します。
   2. [Sync columns] (カラムを同期) をクリックし、スキーマをtFixedFlowInput\_1コンポーネントのスキーマと同期させます。
   3. [Action on table] (テーブルのアクション)ドロップダウンリストから[Drop table if exists and create] (テーブルが存在する場合はドロップして作成)を選択します。

      テーブルが存在しないことが確実であれば、[Create table if does not exist] (テーブルが存在しない場合は作成)オプションを選択することもできます。
   4. [Action on data] (データでのアクション)ドロップダウンリストで[Insert] (挿入)を選択します。
   5. 他のオプションはそのままにしておきます。

   このコンポーネントによって、テーブルが作成され、受信データがそのテーブルに挿入されます。

   ![コンポーネントの\[Basic settings\] (基本設定)ビュー。](https://help.qlik.com/talend/ja-JP/studio-user-guide/Resources/images/schema-length-example_4.png)
6. F6を押してジョブを実行します。

   実行結果は次の図のようになり、データが長すぎるというエラーが表示されます。これは、書き込む文字列の長さ(つまり*7*)がカラムの長さ(つまり*3*)より大きいことが原因です。

   ![実行結果。](https://help.qlik.com/talend/ja-JP/studio-user-guide/Resources/images/schema-length-example_5.png)
7. どちらのコンポーネントでもスキーマカラムの長さを7に変更し、ジョブを再実行します。

   ![\[Schema\] (スキーマ)エディター。](https://help.qlik.com/talend/ja-JP/studio-user-guide/Resources/images/schema-length-example_6.png)

   ジョブが正しく実行され、文字列が適切にテーブルに書き込まれたことがわかります。

### タスクの結果

スキーマでの長さの設定は、データベーステーブルの作成時に影響します。これによって、データベーステーブルにある対応カラムの長さが決定します。