1

SQL Server からローカル hdd にデータをエクスポートするためのフォーマット ファイルがあります。SQL コマンドを使用して、リモート マシンでこのフォーマット ファイルを作成する必要があります。

Server srv = new Server(conn);    
server.ConnectionContext.ExecuteNonQuery("xp_cmdshell 'ECHO 10.0 1 1       SQLBINARY           8       0       \"\"   1     blob                 \"\">> " + destinationPathFormat + "'");

改行をエスケープしないと、フォーマット ファイルが無効になり、データのエクスポートが機能しません。ここで文字列をエスケープする必要があります: 10.0 [ESCPAPE] 1 [ESCPAPE] 1

前もって感謝します。

4

1 に答える 1

1

改行を追加するためecho、複数の echo コマンドを発行できます。

server.ConnectionContext.ExecuteNonQuery(
    "xp_cmdshell 'ECHO line1 >> " + destinationPathFormat + "'");
server.ConnectionContext.ExecuteNonQuery(
    "xp_cmdshell 'ECHO line2 >> " + destinationPathFormat + "'");
server.ConnectionContext.ExecuteNonQuery(
    "xp_cmdshell 'ECHO line3 >> " + destinationPathFormat + "'");

ファイルを作成する の>>代わりに、ファイルに追加する を既に使用しています。>

于 2014-03-21T11:40:19.627 に答える