7

テキスト ファイルを開き、数千行を読み取り、データベース内のテーブルにコードを追加するストアド プロシージャ コードを探しています。これを T-SQL で実装する簡単な方法はありますか?

4

4 に答える 4

4

SSISの使用を検討することをお勧めします。この種のことを行うように設計されています (特に定期的に行う必要がある場合)。

これは、テキスト ファイルの読み取りと DB への挿入に関する適切なリンクです。

于 2010-12-13T00:47:08.707 に答える
3

ファイルを「そのまま」ロードする準備ができている場合 (データ変換や複雑なマッピングは必要ありません)、一括挿入コマンドを使用できます。

CREATE PROC dbo.uspImportTextFile

AS

BULK INSERT Tablename FROM 'C:\ImportFile.txt' WITH ( FIELDTERMINATOR ='|', FIRSTROW = 2 )

http://msdn.microsoft.com/en-us/library/ms188365.aspx

于 2010-12-13T04:45:17.170 に答える
2

多くのレコードをテーブルに挿入する最も効率的な方法は、BULK INSERTを使用することです(これはBCPユーティリティが使用するものであると私は信じているので、同じくらい高速である必要があります)。

BULK INSERTは、大量のデータを挿入するために最適化されており、単純なINSERTステートメントのパフォーマンスではうまくいかない場合に使用することを目的としています。

BULK INSERTそれがあなたが求めているものではない場合は、より簡単なテクニックについて次の記事を参照することをお勧めします。

記事にリンクされているのはストアドプロシージャuftReadFileAsTableであり、目的を達成するのに十分な汎用性があるはずです。

そうでない場合は、少なくともSQLでファイルを読み取る方法の例としてストアドプロシージャを使用できます(OLE / Scripting.FileSystemObjectを使用します)

于 2010-12-13T03:53:55.970 に答える
0

try ユーザー関数を使用しないのはなぜですか? このようにして、.NET を使用してファイルにアクセスし、処理することができます。

この投稿をチェックしてください

于 2010-12-13T00:52:38.153 に答える