Write to a text file from MS SQL Server

There are several things you need to know to be able to do this.

  1. How to enable ad hoc queries.
    This guy enable-Ad-Hoc-Distributed-Queries shows you how.
  2. How to format the driver string and specify your directory and filename. Like this:
    OpenRowset(‘MSDASQL’, ‘Driver={Microsoft Text Driver (*.txt; *.csv)};DefaultDir=c:\MyDirectoryName;’,’select * from MyTextFile.txt’)
  3. How to create a text file in the right format. This format works:
    “ColumnName1″,”ColumnName2”
    “value11”, “value21”
    “value21”, “value22”

There. That was only slightly unreasonably difficult. Now you can

Select * from OpenRowset('MSDASQL', 'Driver={Microsoft Text Driver (*.txt; *.csv)}; DefaultDir=c:\MyDirectoryName;','select * from MyTextFile.txt')

and

Insert into OpenRowset('MSDASQL', 'Driver={Microsoft Text Driver (*.txt; *.csv)};
DefaultDir=c:\MyDirectoryName;','select * from MyTextFile.txt')
Values ('Col1', 'Col2')

2 thoughts on “Write to a text file from MS SQL Server

  1. faiz

    INSERT will not work though :(

    The requested operation could not be performed because OLE DB provider “MSDASQL” for linked server “(null)” does not support the required transaction interface.

    Reply

Leave a Reply to Chris Cancel reply

Your email address will not be published. Required fields are marked *