1

BULK INSERT使用するローカル ハード ドライブにアクセスする方法や、CSV ファイルから SQL Server データベース テーブルにデータを挿入する別のコマンドがあるかどうかを知りたいと思っていました。

以前に使用BULK INSERTしたことがありますが、使用するには、ローカル ハード ドライブではなく、サーバーのハード ドライブに CSV ファイルを配置する必要がありました。サーバーが稼働しているコンピューターのハードディスクにアクセスできました。

今回は、SQL Server への読み取りと書き込みのアクセス権しかありませんが、インストールされているコンピューター全体へのアクセス権はありません。

これを行う方法について何か提案はありますか?

4

2 に答える 2

3

使用する場合はBULK INSERT、SQL Server が参照できる場所 (ファイル共有など) にファイルを取得する必要があります。またはBULK INSERT、別のサーバーで実行してから、リンク サーバー、SSIS などを介してデータを他の SQL Server に移動します。

もちろん、CSV は処理が複雑な形式ではありません。CSV をセットに分解し、テーブル値パラメーターを使用するか、SqlBulkCopyを使用することで、単純な C# アプリケーションから簡単にこれを行うことができます。

于 2013-01-29T19:40:48.943 に答える
0

私はなんとか問題を解決することができました。ローカルサーバー上に一時データベースを作成し、一時テーブルに対してローカルで「BULKINSERT」を実行しました。次に、ローカルサーバーをクエリしたいサーバーにリンクしました。最後に、一時テーブル(データを一括挿入した場所)とメインDBの間で必要な内部結合を取得しました。

DBリンクの作成方法についてはこちらをご覧ください

2つのサーバー間の内部結合の記述方法に関する内部結合ステートメントの記述方法については、この質問に対する最初の回答も参照してください。

于 2013-01-30T16:11:07.623 に答える