2017-02-08 6 views
0

Когда я пытаюсь запустить эту процедуру, она просто дает мне переключатели, доступные для BCP. Это мой первый раз с BCP. Я пытаюсь написать хранимую процедуру для экспорта одного дня данных в CSV.Синтаксис BCP для создания CSV-файла

declare @startdate as datetime = '2017-01-24' 
declare @enddate as datetime = dateadd(day,1,@startdate) 

declare @sql varchar(8000) 

set @sql = 
'bcp "select * from tblBOJEOJ 
where system = ''MKEV03'' 
and [date] between ''' + cast(@startdate as nvarchar(11)) + ''' and ''' + cast(@enddate as nvarchar(11)) + ''' " 
queryout D:\Temp\Galaxy\BOJEOJ_.csv 
-c -t, -T -S ' + @@SERVERNAME 

print @sql 

exec master..xp_cmdshell @sql 

Это то, что возвращает Return

Благодарности

+0

Какой тип вы используете? (Этот код относится к конкретным продуктам.) – jarlh

+0

Можете ли вы включить результат из заявления PRINT в вопросе? –

+0

Однострочный BCP ниже фиксированный. – jwhitf4770

ответ

1

BCP довольно странно. Держите команду BCP в одной строке

declare @sql varchar(8000) 

set @sql = 
'bcp "select * from tblBOJEOJ where system = ''MKEV03'' and [date] between ''' + cast(@startdate as nvarchar(11)) + ''' and ''' + cast(@enddate as nvarchar(11)) + ''' " queryout D:\Temp\Galaxy\BOJEOJ_.csv -c -t, -T -S ' + @@SERVERNAME 

print @sql 

exec master..xp_cmdshell @sql 
+0

Спасибо, что исправлено! Мне нужно было добавить dbname.dbo в мою таблицу в списке. – jwhitf4770

+0

@ jwhitf4770 - Вместо этого вы можете использовать параметр '-d' –

+0

Есть ли переключатель для ввода имен столбцов в файл? – jwhitf4770