どうすればいいですか?私はおよそ10000のレコードをExcelファイルに入れて、できるだけ早くすべてのレコードをアクセスデータベースに挿入したいのですか?バルクはC#からアクセスデータベースに挿入しますか?
提案がありますか?
どうすればいいですか?私はおよそ10000のレコードをExcelファイルに入れて、できるだけ早くすべてのレコードをアクセスデータベースに挿入したいのですか?バルクはC#からアクセスデータベースに挿入しますか?
提案がありますか?
Accessでデフォルトのデータインポート機能を使用します。それがあなたのニーズに合っておらず、C#を使用したい場合は、標準のADO.NETを使用して、単にrecord-for-recordを書いてください。 10Kレコードは長すぎるはずはありません。影響を受ける表上の索引オフ
Dim AccessConn As New System.Data.OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\Test Files\db1 XP.mdb")
AccessConn.Open()
Dim AccessCommand As New System.Data.OleDb.OleDbCommand("SELECT * INTO [ReportFile] FROM [Text;DATABASE=C:\Documents and Settings\...\My Documents\My Database\Text].[ReportFile.txt]", AccessConn)
AccessCommand.ExecuteNonQuery()
AccessConn.Close()
スイッチの負荷を開始してからの一括読み込みが完了した後に、ゼロからインデックスを再構築する前に:あなたは何ができるか
はこのようなものです。大量のデータを表にロードしている最中に索引を最初から再構築するほうが高速です。
行単位で挿入する場合は、トランザクションを使用することを検討してください。同様に、オープントランザクション、1000レコードを挿入、トランザクションをコミットします。これは正常に動作するはずです。
こんにちは このコードは3行目 - ReportFileと[Text; Database = XXX] – Ilyas
@Ilyas接続文字列を見てください。上記はテキスト用です。また、Excel文字列を使用することもできます。http:///www.connectionstrings.com/excel – Fionnuala
わずか10Kレコードのインデックスを削除するのはなぜですか?それはピーナッツだ。そして、あなたがそれらを入れ直すと、それは、とにかく、それらに人口を配置しなければならないので、あなたは本当にそれほど多くを得ていません。そして、率直に言って、データがインデックスに違反した場合、そのデータが1つまたは複数のインデックスに違反しているため、インデックスの再作成が失敗した場合よりも、データを却下することになります。 –
レコードはどこにありますか?別のデータベースでは、データファイルですか?どのような形式ですか? – tijmenvdk
あなたは速い=実行者、または速い=簡単なことを意味しますか?また、「レコードはどこにありますか? –