膨大な量のデータをロードするための、データベース エンジンに依存しない最適な方法は何ですか。
SQL Server を使用しているときに SqlBulkCopy を使用しているが、SQL Server から切り離したい
膨大な量のデータをロードするための、データベース エンジンに依存しない最適な方法は何ですか。
SQL Server を使用しているときに SqlBulkCopy を使用しているが、SQL Server から切り離したい
これを行うデータベース エンジンに依存しない方法はありません。各 DB サーバーには独自の方法があります (たとえば、Sybase の bcp)。
あなたのために仕事をすることができるいくつかのサードパーティ製品があるかもしれませんが、それは下にあるサーバー固有のメソッドのラッパーにすぎません (それがあなたが探しているものである場合は、質問を明確にすることができます)。
注:Markが提案したように一連のINSERTを実行することは、(bcpとは異なり)ログに記録されるため、INSERTがネイティブの一括挿入よりもはるかに遅いため、まったく同じではありません。
データベースに依存しない一括挿入? ありえない。
私が考えることができる最も近いのは、次のような行で挿入スクリプトを作成することです:
INSERT INTO TableName (...) VALUES (...);
よく圧縮されるので、gzip で圧縮することをお勧めします。
ただし、データベース固有のコマンドに固執する方がよいでしょう。「データベースに依存しない」は、多くの場合、「遅い」の同義語です。