問題タブ [bulkinsert]
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.
mysql - XML ファイルから MYSQL への一括挿入
XML ファイルから Mysql テーブルにデータをロードするにはどうすればよいですか?? XML ファイルからデータを読み取り、MySql データベースに書き込む方法はありますか? XML ファイルに大量のデータがあります。
助けてくれてありがとう。
tsql - SQL Standard で SSIS データをエクスポートし、SQL Express で一括挿入を使用してインポートする方法は?
SSIS を使用してデータベース テーブルのフラット ファイル エクスポートを作成し、それらをさまざまな分散 SQL Express インストールにインポートしたいと考えています。ご想像のとおり、SSIS は Express バージョンでは使用できません。一括挿入を行うと、次のエラーが発生します。
Msg 4866, Level 16, State 8, Line 1
The bulk load failed. The column is too long in the data file for row 1, column 5. Verify that the field terminator and row terminator are specified correctly.
生成されたファイルは ascii (1252) で、フィールド間に char(09) (タブ) があり、行の終わりに char(0d) char(0a) があります (\r\n だと思います)。
これはフォーマットファイルです(4列目は列の幅です):
9.0
5
1 SQLCHAR 0 12 "\t" 1 Record_ID ""
2 SQLCHAR 0 498 "\t" 2 Filename SQL Latin1 General CP1 CI AS
3 SQLCHAR 0 498 "\t" 3 Path SQL Latin1 General CP1 CI AS
4 SQLCHAR 0 12 "\t" 4 Width ""
5 SQLCHAR 0 12 "\r\n" 5 Height ""
ファイルの先頭から始まるサンプル データ:
Record_ID Filename Path Width Height
1437 BreadCakeCooknPie.eps G:\BakedGoods\BreadCakeCooknPie.eps 595 647
1438 CakeChocolateRoses.eps G:\BakedGoods\CakeChocolateRoses.eps 1200 848
次の T-SQL コードを使用してインポートします。
bulk insert item_table from 'Item_Table.txt' with
( FORMATFILE='Item_Table.fmt', FIRSTROW=2)
テーブルのフィールドは次のとおりです。
[Record_ID] [int] NULL,
[Filename] [nvarchar](249) NULL,
[Path] [nvarchar](249) NOT NULL,
[Width] [int] NULL,
[Height] [int] NULL
利用可能な書き込みはありますか?エラーを修正する方法はありますか?SSIS によって作成されたフォーマット ファイルを取得する方法はありますか? 他のアイデアはありますか?
私の質問を検討していただきありがとうございます。
c# - TSQL: INSERT INTO SELECT FROM を使用した UPDATE
新しいデータベースに移行する古いデータベースがあります。新しいものには、わずかに異なるスキーマがありますが、ほとんど互換性があります。さらに、すべてのテーブルの番号をゼロから変更したいと考えています。
現在、古いレコードを手動で取得し、それを新しいデータベースに挿入し、古いデータベースの v2 ID フィールドを更新して、新しいデータベースの対応する ID の場所を表示するツールを使用しています。
たとえば、MV5.Posts から選択して MV6.Posts に挿入しています。挿入時に、MV6.Posts の新しい行の ID を取得し、古い MV5.Posts.MV6ID フィールドで更新します。
すべてのレコードを手動で処理する必要がないように、INSERT INTO SELECT FROM を介してこの UPDATE を行う方法はありますか? SQL Server 2005 の開発版を使用しています。
sql - 多くのインデックスを持つテーブルの一括挿入が遅い
20 を超えるインデックスを持つテーブルに何百万ものレコードを挿入しようとしています。
前回の実行では、100.000 行あたり 4 時間以上かかり、クエリは 3 日半後にキャンセルされました...
これをスピードアップする方法について何か提案はありますか。
(インデックスが多いことが原因だと思います。あなたもそう思うなら、操作前にインデックスを自動的に削除し、後で同じインデックスを再度作成するにはどうすればよいですか?)
追加情報:
- インデックスが使用するスペースは、データのみが使用するスペースの約 4 倍です。
- 挿入は、100.000 行ごとにトランザクションでラップされます。
ステータスの更新:
受け入れられた答えは、私がそれをはるかに速くするのに役立ちました.
c# - SQL Server 2005 親/子 xml データを挿入
次のような xml ドキュメントがあるとします。
SQL Server 2005 で、親テーブルに ID 列があり、子テーブルが親を参照する一連のテーブルに親レコードと子レコードを挿入するストアド プロシージャにこのドキュメントを渡す最速の方法は何でしょうか。外部キー?
C# で ADO.NET と .NET 3.5 を使用しています。データを xml パラメータ タイプまたはテキスト タイプとして送信するオプションがあります。SQL 2005 の最新の XQuery を使用することも、SQL 2000 の古い OPENXML スタイルを使用することもできます。または、SqlBulkInsert などを使用してこれらの挿入を実際に実行できる場合は、最速のものを選択します (この状況ではパフォーマンスが重要です)。助けてくれてありがとう!
編集:
親/子セットを挿入するのは、実際には難しいようです。私は LINQ to SQL を学び、そのフレームワークを自分の製品に統合しようとする立場にありませんでした (私たちはここで開発サイクルに入っています!)。この目的に使用できます。最後に、両方のテーブルで GUID プライマリ キーを使用するようにテーブルを再構築し、API で完全なレコードを生成しました。その後、ADO 2.0 SqlBulkInsert を使用してデータを高速で送信することができました。Daniel Miller に与えられた回答は、SQL Server Bulk Load が、アプリケーションを完全に再構築することなく成功する可能性が最も高かったためです。
postgresql - Postgres に一括挿入する最速の方法は何ですか?
Postgres データベースに数千万のレコードをプログラムで挿入する必要があります。現在、1 つのクエリで何千もの挿入ステートメントを実行しています。
これを行うためのより良い方法はありますか、私が知らない一括挿入ステートメントはありますか?
php - CodeIgniter フレームワークを使用して配列から複数の行を挿入する方法は?
挿入コマンドを使用して PHP 経由で大規模なデータセットを MySQL テーブルに渡しています。それを実行します。私は CodeIgniter フレームワークを使用しているので、その機能も利用できます。
sql-server - 引用符に一貫性のないCSVファイルのSQLServer一括挿入
フィールドが引用符で囲まれているだけのCSVファイルをBULKINSERT(SQL Server)することは可能ですか?具体的には、引用符は「、」を含むフィールドのみを囲みます。
つまり、次のようなデータがあります(最初の行にはヘッダーが含まれています)。
引用符が一貫していないため、区切り文字として'"、"'を使用できません。また、これを説明するフォーマットファイルを作成する方法がわかりません。
'、'をデリミタとして使用し、すべての列がvarcharである一時テーブルにロードしてから、いくつかのkludgy処理を使用して引用符を削除しようとしましたが、'、'を含むフィールドがあるため、これも機能しません。複数の列に分割されます。
残念ながら、CSVファイルを事前に操作することはできません。
これは絶望的ですか?
アドバイスをよろしくお願いします。
ちなみに、私はこのpost SQLのcsvからの一括インポートを見ましたが、その場合、すべてのフィールドは一貫して引用符で囲まれていました。したがって、その場合、彼は区切り文字として「、」を使用し、後で引用符を取り除くことができます。
sql - SQLを使用したOracleスキーマ間でのデータのコピー
SQLステートメントを使用して、あるOracleスキーマ( CORE_DATA
)から別の()にデータをコピーしようとしています。MY_DATA
INSERT INTO (...)
SQLステートメントはどのようになりますか?
ms-access - データの正規化 - ループを使用した一括挿入
テーブルを分解して多数のレコードを新しいテーブルに挿入するプロセスをスピードアップするのに役立つヒントはありますか?
現在、Access と VBA を使用して、大きな文字列 (700 文字以上) を持つレコードを含むテーブルを、各文字が独自のレコード (行) を持つ新しいテーブルに変換しています。一度に1文字ずつ文字列をループし、VBAの単純なDAOを使用して新しいテーブルに挿入することでこれを行っています。
現在、私はデータの小さなサブセットを扱っています - それぞれ 700 文字の文字列を持つ 300 レコードです。このプロセスの実行には約 3 時間かかるため、50,000 レコードの完全なデータセットにスケールアップすることはできません!
表 1 構造
id - 文字列 001 - abcdefg
になる
表 2 構造
id - 文字列 001 - a 001 - b 001 - c . . . . . .
物事を改善する可能性のある提案を受け入れます。
乾杯
フィル