1

2種類のファイル(タブ区切り列と固定列)をSQL ServerにインポートするプログラムをC#で作成したいと思います。実際、私は毎日ファイルをダウンロードして、そのファイルをデータベースにインポートする必要があります。バッチスクリプトでコンソールアプリを作成できました。このような例をいくつか見ましたが、それがオブジェクト指向の最良の方法であるかどうかはわかりません。

などを使用することもできますがStreamReaderRegex車輪の再発明はしたくありません。

PS:VBAでは「QueryTables.Add」を使用しました。

4

4 に答える 4

2

SqlBulkCopyを介してフルマネージコードをインポートできます。あなたがする必要があるのは、TSVを処理するIDataReaderをSqlBulkCopyに渡すことだけです。幸い、codeprojectのFastCsvReaderはまさにそれを実行できます。

于 2011-11-24T21:34:45.803 に答える
1

車輪の再発明をしたくない場合は、SQL Serverがこれに提供するネイティブツール、つまりbcpを確認する必要があります。これがbcpに関するFAQのリストです

于 2011-11-24T21:31:57.940 に答える
0

SQL Server Integration Services(SSIS)にとって完璧な仕事のように思えます。SSISでデータインポートタスクを簡単に定義し、SQLジョブを使用して実行するようにスケジュールできます。

于 2011-11-24T21:32:41.560 に答える
0
bulk insert [dbo].[CoursesTemp]

'C:\ Users \ Public \ Downloads\Courses.csv'から

with (fieldterminator = ',', rowterminator = '\n')
go
insert [dbo].[Courses]
  (code, description, instructor, date, venue, duration)
select 
   code, description, instructor, cast(date as date), venue,
   duration
from [dbo].[CoursesTemp]
于 2013-04-08T06:14:32.493 に答える