問題タブ [sqlbulkcopy]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
4005 参照

enterprise-library - SqlBulkCopy を MS Enterprise Library で動作させるにはどうすればよいですか?

SqlBulkCopy を使用するコードがいくつかあります。そして現在、コードをリファクタリングして、標準のデータベース関数の代わりに Enterprise Library データベース関数を使用しています。問題は、SqlBulkCopy をインスタンス化する方法です。それは SqlConnection を受け入れ、私は DbConnection しか持っていません。

0 投票する
2 に答える
1533 参照

memory - sqlbulkcopy メモリ。管理

SQLBULKCOPY を使用していくつかのデータ テーブルをデータベース テーブルにコピーしていますが、コピーするファイルのサイズが 600 MB を超える場合があるため、メモリが不足し続けます。

データベースにコミットする前に、テーブル サイズの管理についてアドバイスを得たいと思っています。そうすれば、メモリを解放して書き込みを続けることができます。

これが私のコードの例です(簡単にするために一部の列と行を削除しました)


SQLBulkCopy を機能させるには引き続き問題があり、データベースに入力する前に各レコードに対してさらに作業を行う必要があることに気付きました。そのため、レコードごとに更新を行う単純な LinQ to Sql メソッドを開発し、編集できるようにしました。他の情報を取得し、実行中のレコード情報をさらに作成します。

問題: このメソッドの実行速度は非常に遅く (Core i3 マシンでも)、高速化する方法 (スレッド化?) に関するアイデアはありません。シングル プロセッサ コアでは、1GB のメモリでクラッシュするか、場合によっては 6 ~ 8 時間かかります。数分かかる 1 つの SQLBulkCopy と同じ量のデータを書き込みます。ただし、メモリをより適切に管理します。

ヘルパーメソッドを使用:

0 投票する
3 に答える
389 参照

sql - このストアドプロシージャの問題を修正する方法

私は2つのテーブルを持っています。以下は、これらのテーブルの簡略版です。

これで、これらのテーブルは相互に関係があります。

シナリオ

ユーザー1が私のサイトにアクセスし、いくつかのアクションを実行します(この場合、テーブルAに行を追加します)。したがって、表AのすべてのデータをSqlBulkCopyを使用します。

ただし、テーブルBにもデータを追加する必要がありますが、SQLBulkCopyがこれらを返さないため、テーブルAから新しく作成されたIDがわかりません。

そのため、表Bに存在しないすべてのIDを検索し、それらをに挿入するストアドプロシージャを作成することを考えています。

ただし、これには問題があります。ユーザーはいつでもTableBから何かを削除できるため、ユーザーがたとえば行を削除してから別のユーザーが来たり、同じユーザーが来てテーブルAに何かをしたりすると、ストアドプロシージャはテーブルBの削除された行を戻します。これは、テーブルAにはまだ存在しますが、テーブルBには存在しないため、ストアドプロシージャの条件を満たすためです。

では、一括挿入を使用するときに更新する必要がある2つのテーブルを処理するためのより良い方法はありますか?

0 投票する
1 に答える
225 参照

sql-server-2008 - XSD: テーブル y の列 x の型が小さすぎてデータを保持できません

XML の列に基づいて XSD ファイルを生成しています。私はそれらすべてに「xs:string」というタイプを与えます。次に、SQLbulk インポートで .NET を使用してファイルをデータベースにインポートしようとしましたが、一部のフィールドでは小さすぎます。「テーブル y の列 x の型が小さすぎてデータを保持できません」というメッセージが表示されます。

大量のテキスト (sqlbulk.execute を使用してデータベースにテキスト フィールドを生成するには) にはどの型を使用すればよいですか? 現在のものは nvarchar(1000) フィールドを作成し、いくつかのフィールドのデータはより大きくなっています

0 投票する
4 に答える
30638 参照

c# - SqlBulkCopyの一部の列をスキップする

SqlBulkCopy異なる列のセットを持つ2つのSQLServer2008に対して使用しています(一部のデータをprodサーバーからに移動しますdev)。したがって、まだ存在していない/まだ削除されていない列をスキップしたい。

どうやってやるの?いくつかのトリックColumnMappings

編集:

次に行います:

そして取得:

指定されたColumnMappingは、ソースまたは宛先のどの列とも一致しません。

0 投票する
1 に答える
585 参照

sql - SQLバルクコピーを使用して同じサーバー内のデータをコピーできますか?

SQLバルクコピーを使用して同じサーバー内のデータをコピーできますか?

0 投票する
5 に答える
8709 参照

c# - SQL(エクスポート)テーブルを.Netのcsvまたはtsvファイルに一括コピーする方法は?

SQLデータベースデータをプレーンテキストファイル(つまり、csv \ tsv)にエクスポートする方法を提供する.Netライブラリはありますか?SqlBulkCopyは、ソリューションのインポート部分にのみ適用され、Process.Start呼び出しを呼び出して、bcp.exeを呼び出すコマンドプロンプトを開くことは好みません。

0 投票する
1 に答える
1688 参照

sql - SqlBulkCopy が、XML 列に大きなコンテンツを含む行をコピーしようとすると失敗する

ある SQL Server テーブルから別のテーブルにレコードをコピーしようとしています。両方のテーブルの構造は同じで、列の 1 つは xml 型です。ソース テーブルの行には、約 2.5Mb の大きな xml コンテンツがあります。

xml 列の内容をファイルに保存しました。添付の map.zip を参照するか、https://docs.google.com/leaf?id=0Bz4PXXEQL5TpM2U5MWJhM2MtMTI0Yi00ODg0LTk4OWItMzJiNjVjMDIzNjc2&hl=en&authkey=CLT5i8oP からダウンロードして ください。

私のコードの簡略版:

bulkCopy.WriteToServer で発生する例外:

SqlBulkCopy のバグのようです。他の誰かがそれを再現して確認できるのだろうか。

更新: マイクロソフトに提出し、

_https://connect.microsoft.com/VisualStudio/feedback/details/614046/sqlbulkcopy-fails-trying-to-copy-a-row-with-large-content-in-an-xml-column

彼らはこれが彼らのバグであることを確認しました:

これまでのデバッグから、一括コピー パスでの XML のサーバー側処理に問題があるように見えます。XML ファイル内の属性の 1 つが非常に大きく、割り当てサイズの制限により、XML の処理時に SQL Server が失敗する原因となっています。

0 投票する
2 に答える
5715 参照

sqlbulkcopy - SqlBulkCopy は Sql 選択からテーブルを作成できますか

SqlBulkCopy は、SELECT INTO のようなテーブルを作成できますか?

0 投票する
1 に答える
2956 参照

database - バルクコピー-sybase

あるテーブルから別のテーブルに約2,000万行を選択的に(行と列の両方で)エクスポートする必要があります。これは私が試したものです:

完了するまでに約12時間かかります。sybaseでは、Table1から選択した列と行を使用してbcpを出力し、Table2にbcpを入力することはできないと思います。使用できる代替の高速アプローチはありますか?4時間以内にできれば幸いです。

読んでくれてありがとう。