問題タブ [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.
c# - sqkbulkcopy はテーブル スキーマを置き換えますか?
sqlbulkcopy を使用して C# コードからバルク データを挿入していました。
実行した後、テーブルには 37 レコードしかないことがわかりました。最初は 152 列でしたが、その後は 32 列しか残っていませんでした。
この理由は何でしょうか?
このための C# コード
c# - C#でODBC接続を使用してSqlBulkCopy(同等)を実行するにはどうすればよいですか?
MSSQLデータベーステーブルからデータを抽出してから、AS400の同じ構造のテーブルにデータを挿入する必要があるプロジェクトに取り組んでいます。
SqlBulkCopyはこの操作の理想的な候補ですが、AS400がODBC接続を使用しているため、(当然のことながら)失敗します。
これに関するヘルプや提案をいただければ幸いです。
ありがとう
c# - 複合主キーを持つテーブルへの SqlBulkCopy
SqlBulkCopy を使用して、アプリケーションで DataTable を手動で設定することにより、DB テーブルに新しい行を挿入しようとしています。
これは、3 つの列で構成される複合主キーを持つテーブルを除くすべてのテーブルで正常に機能します。このテーブルに何かを SqlBulkCopy しようとすると、次のエラーが発生します。
これは可能ですか?
次のように DataTable の主キーを設定しようとしました。
しかし、やはり運が悪い。
sql-server - SQL Server から Oracle への一括コピー
プロジェクトでデータを SQL Server から Oracle に一括モードで移動する必要があります。DataDirect と ODP .net からの OracleBulkCopy がありますが、それを使用するには、最初に SQL サーバーからデータ リーダーを CSV ファイルに変換する必要があります。次に、一括コピーを使用してそれをエクスポートできます。これは非常に非効率的なプロセスであり、別の方法です。リンクされたサーバーは使用できません。
c# - SQL CE を使用した sqlbulkcopy
Sql Compact Edition などの (*.sdf) ファイルで SqlBulkcopy を使用することは可能ですか?
SQL Server 200 Up で動作することはわかっていますが、CE の互換性を確認したかったのです。
DataSets を使用せずに CSV タイプのファイルを SQL Server CE に取り込む最速の方法を誰も知らない場合 (ここで puke)?
sql - null 許容列で SqlBulkCopy を使用する方法
null 許容列が含まれている場合、SqlBulkCopy を使用すると問題が発生します。SqlBulkCopy は null 許容列の処理方法を認識しておらず、長さゼロの列に遭遇すると不正なサイズ エラーをスローするようです。エラーは「bcp クライアントから無効な列の長さを受け取りました...」です。
これに対処するためのベストプラクティスは何だろうと思っています。これは、この問題と csv ファイルを読み取るための解決方法を説明する良いフォーラム投稿のようです。
私の状況はかなり典型的で単純だと思います。あるデータベース テーブルから別のデータベースに未知の量のデータを移動する必要があります。私にとってより簡単な答えは、SQL Server で SSIS/DTS またはリンクされたサーバーを使用することですが、顧客はアプリでデータ移動を行うことを望んでいます。
これに対する既知の回避策や、null 許容フィールドを持つデータを移動するためのより良いストリーミング ソリューションはありますか?
c# - SqlBulkCopy は String.Empty を INT NULL に変換することを拒否します
最近、マスター マッピング ファイルを読み取って、フラット ファイル名に基づいてデータをテーブルに送り込む自動 ETL プロセスの作成を任されました。私は SqlBulkCopy を使用することにしましたが、すべて問題ないようです。IDataReader インターフェイスは、フラット ファイルを読み取るために実装されました。SQL Server のメタデータには、1 対 1 のデータ マッピング用に多数の列が用意されており、空の文字列を含むファイルに出くわすまで、すべてが機能していました。SqlBulkCopy は、「データ ソースからの String 型の指定された値を、指定されたターゲット列の int 型に変換できません。」という例外をスローします。話の終わり、この列の DB タイプが INT NULL であることさえ気にしません。メタデータをさらに解釈し、特定の列のデータ型を抽出し、抽出した情報に基づいて DataSet を構築できることを知っています。フラットファイルからデータを再キャストし、うまく機能する強く型付けされたソリューションを自分で手に入れますが、私は怠惰な男で、彼の幸せはマイクロソフトによってひどく傷つけられたように感じています。突然の問題。お時間をいただきありがとうございます。
sql-server - 「db_datawriter」権限なしで SQL 2008 で SqlBulkCopy を使用することは可能ですか?
データベースへの可能なアクセス方法を、ストアド プロシージャのみを使用するように制限したいと考えています。以外はすべて正常に動作しますSystem.Data.SqlClient.SqlBulkCopy
。大量のデータをインポートするために、1 つのクラスでのみ使用しています。
この問題を回避することは可能ですか?
呼び出す前に権利を付与し、SqlBulkCopy
後に削除しようとしました:
しかし、そのようなアプローチではエラーが発生します:
ユーザーには、このアクションを実行する権限がありません。
同じユーザーで実行しています。必要なものを許可するにはどうすればよいですか?
sql-server - SQL 2008 でユーザーに別の権利を付与する権利を付与する権利はどれですか?
db_datawriter
実行前に付与し、実行SqlBulkCopy
後に削除する必要があります。
しかし、私はエラーが発生しています:
ユーザーには、このアクションを実行する権限がありません。
どうすれば修正できますか?