2

のような隠しパスを使用すると\\\twn-a110093\s$\SNData1.csv、機能しません。

エラーメッセージ:

[Microsoft] [SQL NativeClient]BCPホストデータファイルを開くことができません

おそらく、「$」文字は認識されませんか?この問題を解決するにはどうすればよいですか?

Exec master..xp_cmdshell 'bcp " select * from sfm.dbo.tblSNDataDetail " queryout "\\twn-a110093\s$\SNData1.csv" -c -t, -T -S TWN-SQL-01'
4

3 に答える 3

2

単純に、データをUNCパスに直接BCPすることはできません。ダブルホップの問題が発生し、2台のサーバー間に制約付きの委任を設定する必要があります。最初にBCPをローカルドライブに移動し、次にファイルをUNCパスに移動/コピーする必要があります。これは、正しく設定した場合でも、BCPからUNCパスに直接移動するよりも実際には高速です。信じられないかもしれませんが、試してみてください。

于 2013-03-27T06:29:11.380 に答える
0

セキュリティの問題である可能性が高い:

「xp_cmdshellによって生成されたWindowsプロセスには、SQLServerサービスアカウントと同じセキュリティ権限があります」

SQLServerサービスアカウントのユーザーがそのパス/ファイルにアクセスできることを確認してください。

于 2013-03-27T06:13:28.167 に答える
0

BCPコマンドでUNCパスを使用しており、実際にはドライブルートS$にファイルを直接作成します。セキュリティチェックが含まれます。試すことができるのは次のとおり

です。1。最初にドライブルートフォルダーから次のようなサブフォルダーにパスを変更します\twn-a110093\s$\Test\SNData1.csv

。2。SQLServerサービスアカウントにフォルダー'test'への書き込み権限を付与します。SQLServerがNTサービスで実行されている場合は、ネットワークを付与する必要があります。フォルダ3へのサービスアカウントの書き込み権限

。「twn-a110093」がSQlServerが配置したサーバーと同じでない場合は、ファイル共有フォルダで「全員」に完全な権限を与える必要があります。

4.すべてが機能しない場合は、最初にローカルフォルダーにBCPを送信し、次に@Gunaが言ったように、ファイルをUNCパスにrobocopyします。これは、ファイルをUNCパスに直接書き込む方が適切です。

于 2013-03-27T06:58:24.270 に答える