-3

現在、フラット ファイルから SQL テーブルにデータをコピーし、このトランザクションをログ テーブルのフラット ファイル列に記録しようとしています。

table name=personal data

firstname,
lastname,
age,
date_of_birth,
state,
country

そしてSQLテーブル名=受信箱

colums=
firstname varchar,
lastname varchar,
age int,
date_of_birth date,
state varchar,
country varchar,

フラット ファイル内のデータはカンマで区切られます。firstname 列が int データ型を保持してはならないなど、テーブルがデータ型に敏感であることを望みます。データ型が間違っている場合は、フラットファイルを outbox という別のテーブルに送信する必要があります

また、実行されたすべてのコピーと失敗したすべてのコピーを追跡する audit_rec というログ テーブルが必要です。

timecopied timespam()
name_of_file
failed_to_copy
reason_of_failure
4

1 に答える 1

0

私の知る限り、フラットファイルをインポートする標準のSQLの方法はありませんが、多くのSQL実装には、そのような機能を提供する拡張機能が含まれています。たとえば、MySQLには「loaddata」ステートメントがあり、Postgresには「copyfrom」があります。使用しているDBのドキュメントを確認し、使用可能なものと構文を確認する必要があります。

とは言うものの、データが正しいタイプでない場合、レコードを別のファイルに書き込みたいというあなたの声明は、おそらく、組み込みの言語機能があなたのためにやろうとしていることの外にあなたを置きます。おそらく、レコードを1つずつ読み取り、それぞれを解析し、エラーをチェックしてから、適切なファイルに挿入ステートメントを実行するプログラムを作成する必要があります。

于 2012-07-31T16:12:10.357 に答える