Рассматривали ли вы использование простого сценария PowerShell или приложения командной строки с использованием C #? Если он может SELECT
все данные, то он, безусловно, сможет записать все это в файл.
РЕДАКТИРОВАТЬ 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.