0

SQL Server2005DBにインポートする必要のあるフラットなデータファイルがあります。

フィールドの多くは、関連するさまざまなテーブルに分割する必要があります。たとえば、フラットファイルには、名前、住所、電話番号がすべて1つのレコードに含まれています。私のDBでは、Personテーブルには多くのTelephonesとがありAddressesます。

すべてをテーブルにインポートできるワンステッププロセスはありますか、それとも最初にDBの新しいテーブルにインポートする必要がありますか(削除するのを忘れた場合は汚染)、そこからデータをインポートします。 SQLステートメントと一時テーブル?

4

2 に答える 2

2

私は1つのインポートテーブルを好み、その後に最終テーブルに分割します。また、インポートテーブルを毎回作成/削除するのではなく、永続化します。

  • wth制約の処理が簡単です(最終テーブルに挿入する前に確認するか、既存の行を更新してください)
  • 成功した行を削除した後、インポートテーブルにエラー生成データを残すのが簡単
  • サーバー側のトランザクション
  • データ型の安全性:ソースを100%信頼できますか?
  • 空の文字列などを処理するためにSQLでISNULLまたはNULLIFを実行する方が簡単
  • と今思い出せないこと…
于 2009-07-27T18:11:34.870 に答える
1

これは完全にSQLServerIntegrationServicesの仕事です。フラットファイルを取得してデータ操作を行い、最終的に新しいデータベースにインポートできる優れた機能がいくつかあります。

残念ながら、それ以外に私が知っている簡単な「迅速な修正」ソリューションはありません。ただし、最初に検討するテクノロジーがあります。

于 2009-07-27T16:09:07.833 に答える