問題タブ [bcp]
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.
linux - Linux で BCP コマンドを使用するにはどうすればよいですか?
bcp
Linuxでコマンドを次のように使用したい:
Linux のメッセージは次のように表示されます。
誰でも私の問題を解決できますか?
sql-server - XML データを SQL Server に保存する最良の方法は何ですか?
かなりまっすぐ進む直接ルートはありますか?(つまり、SQL Server は XML を読み取ることができます)
それとも、XML を解析し、通常の方法で ADO.Net を介して個々の行またはバッチ更新として転送するのが最善でしょうか?
大規模で複雑なストアド プロシージャを含むソリューションが存在する可能性があることは認識しています。これに完全に反対しているわけではありませんが、ビジネス ロジックのほとんどを C# コードに含めることを好む傾向があります。SQLXMLBulkLoad を使用したソリューションを見たことがありますが、かなり複雑な SQL コードが必要なようです。
参考までに、一度に約 100 行を処理し、それぞれに約 50 個の小さなデータ (文字列と整数) を使用します。これは最終的に毎日のバッチ ジョブになります。
提供できるコード スニペットは、非常に高く評価されます。
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 によって作成されたフォーマット ファイルを取得する方法はありますか? 他のアイデアはありますか?
私の質問を検討していただきありがとうございます。
sql - 行内容のみの比較を行うツール
bcp.exe を使用してデータベースにインポートするための TSV ファイルを生成するツールに取り組んでおり、出力を検証したいと考えています。これを行うには、生成したファイルと、既存のデータベースから bcp を使用してエクスポートすることによって生成されたファイルを比較します。私の問題は、ファイル間で順序が異なる場合があることです。行の順序に関係なく、ファイルのペアに完全に一致しない行があるかどうかを教えてくれるツールが欲しいです。
sql - 再配布されたコンポーネントを含む SQL Server データのエクスポート
SQL Server データベース (特定の接続文字列を使用) からローカル ファイル (任意の形式) にデータを一括エクスポートしようとするアプリケーションを作成しています。
通常、SQL サーバー ユーティリティのBCP.exeが理想的ですが、アプリを実行しているマシンでbcpユーティリティを使用できない場合があります。また、bcp は再配布可能なアプリとは見なされません。
私の質問: BCP.exe が再配布可能でないというのは本当ですか? そうでない場合、私と私のアプリで利用できる最適な再配布可能なモジュールは何ですか?
どんな解決策も検討されます。
sql-server - SQLServer2005クエリをCSVにエクスポートする方法
SQL Server 2005のデータをCSV形式(引用符で区切って)にエクスポートしたい。複雑なやり方はたくさん考えられますが、正しいやり方でやりたいと思っています。bcpを見てきましたが、フィールドを引用符で囲む方法がわかりません(フィールド値に連結する場合を除きます。これは醜いです)。sqlcmdと-oでできると思いますが、同じ理由で醜いようです。
それを行うbcpの方法はありますか?
それを行うための合理的なsqlcmdの方法はありますか?
Management Studioに組み込まれている、見落としている優れたシンプルなユーティリティはありますか?
c# - 大量のデータを SQL CE データベースにコピーする
メモリに大量のデータがある場合、それを SQL CE テーブルにコピーする最良の方法は何ですか? 現在のテクノロジ スタックは、C#、ADO.net、および SQL CE です。
私の最初のアイデアは、データの行ごとに 1 つの INSERT ステートメントを実行することでしたが、これには時間がかかります。もっと簡単な方法はありますか?
sql - bcp を使用して csv ファイルを SQL 2005 または 2008 にインポートする
csv ファイルがあり、それを SQL 2005 または 2008 のテーブルにインポートする必要があります。csv の列名と数は、テーブルの列名と数とは異なります。csv は「;」で分割されます。.
例
CSV ファイルの内容:
SQL 人物テーブル
batch-file - スケジュールされたコンソール アプリケーションを実行する Windows タスク スケジューラを取得できません
2 つのバッチ ファイルを使用して zip ファイルを解凍し、解凍された xls を CSV に変換してデータを SQL テーブルに BCP するコンソール アプリがあります。このコンソール アプリを 1 日 1 回実行するようにスケジュールしたいと思います。上記のアプリを実行するようにWindowsタスクスケジューラをセットアップしました。タスクを「テスト実行」しようとしましたが、エラーは発生しません。例外がキャッチされたときにアプリがtxtファイルに書き込んでいて、「使用しようとしているxlsファイルは別のプロセスで使用されています」という行に沿ってエラーが発生します。
注: SQL への xls のインポートを達成するためのより効率的な方法があることは知っていますが、SQL SERVER のフル バージョンを購入するには安すぎるクライアント向けです。
database - BCP ユーティリティがデータを破損する
あるサーバーから別のサーバーにテーブルの 2 つの列の一括コピーを実行しています。
ソース側のテーブルには約 8 列ありますが、必要なのは 2 列だけです。
宛先側のテーブルには2つの列があります(必要な2つは両方ともint型です)
どちらのデータベースも SQL Server 2005 です。
これが私の2つのbcpコマンドです:
これにより宛先テーブルのデータが破損するのはなぜですか? 素敵な連続した整数を取得する必要がありますが、代わりに次のように取得します。
私は何を間違っていますか?