問題タブ [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.
powershell - powershell と bcp を使用して CSV を SQL Server にロードする方法を教えてください
bcp を使用して、遠く離れた別のテーブルからエクスポートされた CSV からテーブルをロードしていますが、いくつかの問題が発生しました。私の元の 2 つの問題: エクスポートされたフィールドの 1 つは int であり、最終的に varchar フィールドになる必要があり、別のフィールドには静的文字列を入力する必要があります。まあ、最初は大したことではありません.Chadの答えは私を@{n='Col3';e={'ABC'}}
構文に導きました. しかし、データを正しくロードする際にいくつかの問題に遭遇しています。
値にスペースがない場合もあれば、ある場合もあります。bcp 形式のファイルで区切り記号を指定するにはどうすればよいですか? おそらく、これらを引用符で囲む必要があるためです。
a. 中間 CSV ファイルの値を引用符で囲む必要がありますか?
私のテスト コードでは、最初の行の Col1 の実際の値を使用して、列ヘッダーと改行を Col1 に押し込んでいます。
私の実際のサニタイズ
String data, right truncation
されていないコードでは、最初の行に移動していますが、2 行目は問題なく挿入されています。
とにかく、他の場所から取得した最初の CSV データは次のようになります (注: ヘッダー行はありません)
対象のSQLテーブルはこんな感じ
ABC123を にCol1
、123456を にCol2
、Export1をCol3
に、APPLEをにロードする必要がありますCol4
。Export1は静的文字列です。私はPowershell 1.0でこれをやっています。
編集: チャドの import-csv | export-csv は有望に見えますが、ヘッダーの欠落が嫌いで、PS 1.0 は -Header オプションをサポートしていません。
編集: 上記の説明を編集して、この時点までさまよった方法を反映させます。4 列のテーブルと 3 列の CSV は明らかに単純化されています。1 つの実際の列は都市であるため、単純な文字列または引用符が必要な文字列を含めることができます。この時点での私の Powershell 1.0 コードは次のとおりです。
sql-server - データ型を知らなくてもSQL Serverでフラットファイルからテーブルを作成する方法は?
ファイル内の列のデータ型を知らなくても、フラット ファイルを新しいテーブルとして SQL Server に読み込む方法はありますか?
BULK INSERT を使用してフラット ファイル データをロードできることはわかっていますが、受信ファイルのデータ型と一致するターゲット テーブルを最初に作成する必要があります。OPENROWSET では、受信データ型を指定するフォーマット ファイルを作成する必要があります。SQL Server がファイルを自動的にイントロスペクトし、データ型を決定し、データを一度にロードする方法はありますか?
csv - SQL Server BCPは1行だけ挿入されていますか?
FMTファイルを使用してcsvファイルをSQLServerボックスにBCPしています-すべて問題ありませんが、5行のファイルの最初の行のみが挿入されます。
最終列のターミネーターの改行設定だと思いますが、csvファイルの改行を表示および編集するにはどうすればよいですか?
windows - 正しいBCP構文
私は初めてのBCPユーザーです。SQLServerの新しいテーブルにインポートする必要のあるXMLファイルがあります。これは、SQLServer2008およびBCPバージョン10.50.16を使用しています。ドキュメントを読みましたが、370,000エラーが発生します。(これは非常に大きなファイルです)。エラーログを開くと、たくさんの疑問符が表示されます。
このXMLファイルについて:行を区切るために改行を使用しますが、フィールドを区切るためにスペース文字を使用します。それが失敗の原因かどうかはわかりません。失敗メッセージは次のとおりです。
失敗したBCPコピーもっとわかりやすいといいのですが。より詳細なエラーメッセージを取得する方法はありますか?
そうでなければ、ここに私のコマンドがあります:
これらのファイルはすべて、この同じディレクトリにあります。フルファイルパスを指定するように指示されていることは知っていますが、それらはすべてこの同じディレクトリにあり、ディレクトリを指定しない別の例も見たので、これで十分だと思いました。
フォーマットファイルなしでこれを試しましたが、インタラクティブに実行しましたが、同じエラーが発生します。
これは私のフォーマットファイルです:
これは私のSQLテーブルです:
そして、1行目からこれを試しました。BCPを開始する必要があるのはどの行ですか。このXMLの1行目は、SchemaおよびElementType情報で始まります。しかし、107行目でrs:dataセクションが始まります。
このXMLファイルの最初の部分:
c++ - bcp を使用してビルド可能な Boost 抽出物を取得する
Boost.Archive を Boost から抽出するために bcp を使用しています。残念ながら、この抽出物をビルドすることはできません。Boost.Archive はヘッダーのみのライブラリではありません。
バジャムは文句を言う
bjam で抽出をビルド可能にするように bcp に指示する方法はありますか (boost-build.jam を適切な場所にコピーします)。
sql - このbcpユーティリティの何が問題になっていますか?
bcpユーティリティを使用してデータをテキストファイルにエクスポートしようとしていますか?私はここで私が間違っていることを理解できませんでした:-
ファイルにデータを書き込んでいません。結果ボックスで私はこの出力を取得しています:-
使用法:bcp {dbtable | クエリ}{in| アウト| queryout | format} datafile [-m maxerrors] [-f formatfile] [-e errfile] [-F firstrow] [-L lastrow] [-bbatchsize][-nネイティブタイプ][-c文字タイプ][-wワイド文字タイプ][-N非テキストネイティブを保持][-Vファイル形式バージョン][-q引用符付き識別子][-Cコードページ指定子][-tフィールドターミネータ][-r行ターミネータ][-i入力ファイル][- o出力ファイル][-aパケットサイズ][-Sサーバー名][-Uユーザー名][-Pパスワード][-T信頼できる接続][-vバージョン][-Rリージョナルイネーブル][-knull値を保持][- EID値を保持][-h"ロードヒント"]NULL[-h"ロードヒント"]NULL
助けてください。
sql-server - 大きなフラット ファイルを SQL Server 2008 テーブルにインポートできない
18 GB のフラット ファイル (40,000,000 レコード) があり、列幅が固定 (フィールド ターミネータなし) で、SQL Server 2008 R2 テーブルに読み込みたいと考えています。データを含むテキスト ファイルに加えて、フィールド名と長さが記載された Excel ドキュメントを受け取りました。レコードごと (行ごと) に合計 465 文字の 270 のフィールドがあります。bcp を使用して fmt ファイルを作成しましたが、これは問題ないように見えます。
等
SQL Server では、この fmt ファイルを使用してデータをテーブルに読み込みます。
SQL Server からのエラー メッセージ:
メッセージ 4866、レベル 16、状態 7、行 1
一括読み込みに失敗しました。データ ファイルの行 1、列 1 の列が長すぎます。フィールド ターミネータと行ターミネータが正しく指定されていることを確認してください。
メッセージ 7399、レベル 16、状態 1、行 1
リンク サーバー "(null)" の OLE DB プロバイダー "BULK" がエラーを報告しました。プロバイダーは、エラーに関する情報を提供しませんでした。
メッセージ 7330、レベル 16、状態 2、行 1
リンク サーバー "(null)" の OLE DB プロバイダー "BULK" から行をフェッチできません。
最後のフィールドのフィールド ターミネータを「\r」および「\r\n」に変更してみました。下部にフィールドを追加してみました。
違いはありません。
オンラインで役立つものを見つけることができませんでした。(fmt ファイルに空白行を追加することをお勧めしますが、それでも解決しません。Excel データ インポート ツールを使用すると、一貫した長さの行が表示されるため、データ ファイルに行末記号があると思います。
誰か助けてくれませんか?ありがとう、クリス
sql-server - SQL Server がインデックス付きの空のテーブルに bcp するとき、内部で何をしますか?
インデックスを持つ空のテーブルがあり、bcp を実行した場合、SQL Server は (内部的に) インデックスを削除/無効化し、データをロードしてから、インデックスを再適用/有効化/構築しますか?
sql-server-2005 - パラメーターを指定して proc を実行すると、BCP 関数のシーケンス エラーが発生する
動的 SQL を使用して bcp コマンドをアセンブルし、パラメーター化されたストアド プロシージャから csv ファイルにデータをエクスポートするストアド プロシージャを作成しようとしています。
もともと、ファイルシステムのアクセス許可であると思われるホストデータファイルアクセスの問題が発生していました。
procを実行すると、一貫してエラーが発生します。
SQLState = S1010、NativeError = 0 エラー = [Microsoft][SQL Server Native Client 10.0]関数シーケンス エラー
プロシージャ コードは次のとおりです。
SELECT @command を使用して、分析用に組み立てられたコマンドを取得します。
calle proc のパラメーター名が含まれているため、コマンドは次のようになります。
bcp "exec InternalML..sp_SelectMarketingListMembers @includeInService = NULL, @includeMLM = NULL, @includeQuoteNoodle = NULL, @netective = NULL, @cyberChex = NULL, @agentsAdvantage = NULL, @quoteNoodle = NULL, @mlmListSubscriber = NULL, @state = NULL" queryout C:\temp\test.csv -c -T -S SPKD18
また、同じ関数シーケンスエラーメッセージでパラメーター名なしでそれを行いました:
bcp "exec InternalML.dbo.sp_SelectMarketingListMembers NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, @state = NULL" queryout "C:\\temp\test.csv" -c -T -S SPKD18
これが機能しない理由についての洞察はありますか? ところで、proc 経由で bcp を実行し、同じ結果でコマンド プロンプトにコピーしました。問題は、おそらくこのエラーが非常に一般的であるため、インターネット上でこのエラーについてあまり見つけられないことです。
SSMSクエリウィンドウで直接パラメータを使用してInternalML.dbo.sp_SelectMarketingListMembers procを正常に実行できるので、bcpと関係があると確信しています。
助けてくれてありがとう
sybase - sybase 15 は Java で bcp API をサポートしていますか?
ずっと前に、bcp は sybase クライアント API の特別なビットを呼び出して大量のデータをデータベースに移動する小さな C プログラムであることに気付きました。それは、速度の名の下に、チート、盗み、およびチェック制約のスキップです。よし、大賛成だ。sybase 12 では、API は C クライアント ライブラリで公開されていましたが、Java では公開されていませんでした。
私は探していましたが、sybase 15 Java クライアント ライブラリにまだ実装していると言うものは見つかりませんでした。これがsybase 15で利用可能かどうか知っている人はいますか?