I\'ve spent 2 days trying to export a 75,000 row table containing a large text field of user input data from a SQL server installation. This data contains every plain ascii
I've been trying to figure this out as well. Not sure if this will work for you since your table is much larger than mine, but this is what I did just out of a whim:
SELECT *
statementI know it probably sounds stupid, but it actually worked for me.
We made a small script to convert SSMS "broken" CSV into proper CSV, find it in this answer:
https://stackoverflow.com/a/46876236/1532201
Here's the essence of a script I use to do just this:
require 'rubygems'
require 'active_record'
require 'tiny_tds'
require 'activerecord-sqlserver-adapter'
require 'acts_as_reportable'
require 'ruport'
ActiveRecord::Base.logger = Logger.new("log/debug.log")
ActiveRecord::Base.establish_connection(
:adapter => 'sqlserver',
:mode => 'dblib',
:dataserver => 'servername',
:username => 'username',
:password => 'password',
:timeout => '60000'
)
class Table1 < ActiveRecord::Base
set_table_name 'table_name'
set_primary_key 'table_id'
acts_as_reportable
end
Table1.report_table(:all).save_as("finished/table1.csv")
Hope it helps!
It can be done! However you have to specifically configure SSMS to use quoted output, because for some daft reason it is not the default.
In the query window you want to save go to Query -> Query Options...
Check the box "quote strings containing list separators when saving .csv results".
then
select 'apple,banana,cookie' as col1,1324 as col2,'one two three' as col3,'a,b,"c",d' as col4
will output
col1,col2,col3,col4
"apple,banana,cookie",1324,one two three,"a,b,""c"",d"
which is what we all want.