トラブルシューティング
提供: InterBase
InterBase クイック スタート:Part II - データ定義 へ戻る
ドメイン定義を入力している際にタイプミスをしていると、Tables.sql スクリプトを実行した際、または、手入力でテーブルを定義している際に、エラー メッセージが表示されます。 InterBase がメッセージを送ります。
スクリプトを実行した際、エラー情報がないかスクリプトのログ ファイルを確認します。 このログ ファイルは、スクリプト ファイルと同じディレクトリに作成されます。 手入力でテーブルを定義している場合は、SQL 出力領域で詳細情報を確認します。 SQL 出力領域は、スクリプトの内容をエコー出力します。
どちらの場合も、特定のテーブルに問題があった場合、次のように、そのテーブルの SQL コードの後にエラー メッセージが続きます:
Statement failed, SQLCODE = -607
Dynamic SQL Error
-SQL error code = -607
-Invalid command
-Specified domain or source column does not exist
問題を把握するには、次の手順を行います:
- エラー メッセージを読みます。 この例の場合、指定されたドメインが存在していない、と告げています。 おそらく、ドメイン名の入力ミスによるエラーでしょう。
- IBConsole の左ペインで [ドメイン] をクリック。 InterBase は、右ペインに、すべてのドメインの名前を表示します。
- 手入力で次の 4 つのドメインを定義しています: FIRSTNAME、LASTNAME、EMPNO、DEPTNO。 ドメインのリストにあるこれらを 1 つずつ見ていき、これらの名前が正しく入力されているかどうかを確認しあmす。 ミススペルしているものを見つける作業に似ています。
- 次のコマンドを入力、実行して、誤ったドメインをドロップします:
- DROP DOMAIN domainname
- CREATE DOMAIN 文を使用して、ドメインを再度作成します。
- Tables.sql スクリプトをもう一度実行します。
-
- これが問題の原因でなければ、引き続き次の手順を行います:
-
- メッセージ テキストの右上を見て、どのテーブルに問題があるのかを確認します。 そのテーブルで、どのドメインが使用されているかに注意します。 その中に、手入力した 4 つのドメインは含まれていますか?
- IBConsole の左ペインで [ドメイン] をクリック。 InterBase は、右ペインに、すべてのドメインの名前を表示します。 ドメインを右クリックし、[プロパティ]を選択します。 [メタデータ]タブをクリックすると、InterBase が、SQL 出力領域にそのドメインの定義を表示します。
- 表示された定義と、本ドキュメントで指定された定義(入力した定義)を比較します。 問題のあるドメインが見つかるまで、手入力した 4 つのドメインをそれぞれ確認していきます。
- 上のステップ 4 で説明したように、そのドメインをドロップし、再度正しく入力します。 Tables.sql スクリプトをもう一度実行します。