シンプルなPowerShellスクリプトやC#を使用したコマンドラインアプリを使用したことはありますか?可能であれば、SELECT
すべてのデータは、ファイルにすべて書き込むことができるはずです。
EDIT 2011-08-03
私はPowerShellのか、sqlcmdので、この作業を取得することができませんでした。前者は4000文字、後者は256文字に切り捨てているようだが、私の親友であるVBScriptは、新しく輝くことが常にベストではないことをもう一度証明した。コードは書くのがはるかに面倒だが、機能する。 .vbsファイルとして保存し、行2,3、および6に適切な変更を加えます(さらに列、データの変換、異なる区切り文字などが必要な場合は9)。
set conn = createobject("ADODB.Connection")
conn.open "provider=SQLOLEDB.1;data source=.;user id=user;password=pass;"
set rs = conn.execute("SELECT VarcharMaxCol FROM dbo.TableName")
set fso = createobject("Scripting.FileSystemObject")
set f = fso.CreateTextFile("c:\path\from_vbs.csv", true)
do while not rs.eof
f.writeline vbCrLf & rs(0)
rs.movenext
loop
rs.close : set rs = nothing
conn.close : set conn = nothing
f.close : set f = nothing
set fso = nothing
私のPowerShellの教祖の友達から> 4Kの扱いについて回答が得られたら、ここに投稿します。
+1 - Powershellはおそらくこれを行う方法です。 – JNK
+1ありがとうございます。私はこれを解決策として受け入れましたが、PowerShellスクリプトを使って何を意味するのかを教えてください。テーブル全体が非常に大きいので、私がやっているのは '#TEMP'テーブルにいくつかの数値を作成し、それらを元のテーブルに結びつけて結果セットを得ることです。 – Legend
@Legend私はVBScriptで動作するソリューションで答えを更新しました(私は知っていますが、* shudder *)。 –