Я застрял в проблеме, для которой я не могу найти причину или решение.Экспорт в Excel с SQL Server
Я запускаю SQL-скрипт для экспорта некоторых данных на лист Excel. На другом конце есть приложение, которое считывает и обрабатывает лист Excel.
Проблема: заголовки столбцов отображаются внизу, и приложение ожидает, что они будут в верхнем ряду. Я не могу изменить функционирование приложения.
Это прекрасно работало в SQL 2005, но мы недавно обновились до SQL 2012, и это началось.
Я не нашел ничего в Интернете, чтобы решить эту проблему.
Это SQL скрипт, который я уверен, выполнение
SELECT
@columnNames = COALESCE(@columnNames + ',', '') + '['+ column_name + ']',
@columnConvert = COALESCE(@columnConvert + ',', '') + 'convert(nvarchar(4000),'
+ '['+ column_name + ']' +
case
when data_type in ('datetime', 'smalldatetime') then ',121'
when data_type in ('numeric', 'decimal') then ',128'
when data_type in ('float', 'real', 'money', 'smallmoney') then ',2'
when data_type in ('datetime', 'smalldatetime') then ',120'
else ''
end + ') as ' + '['+ column_name + ']'
FROM tempdb.INFORMATION_SCHEMA.Columns
WHERE table_name = '##TempExportData'
-- execute select query to insert data and column names into new temp table
SELECT @sql = 'select ' + @columnNames + ' into ##TempExportData2 from (select ' + @columnConvert + ', ''2'' as [temp##SortID] from ##TempExportData union all select ''' + replace(replace(replace(@columnNames, ',', ''', '''),'[',''),']','') + ''', ''1'') t order by [temp##SortID]'
exec (@sql)
-- build full BCP query
DECLARE @bcpCommand VARCHAR(8000)
SET @bcpCommand = 'bcp " SELECT * from ##TempExportData2" queryout'
SET @bcpCommand = @bcpCommand + ' ' + @fullFileName + ' -T -w -S' + @serverInstance
EXEC master..xp_cmdshell @bcpCommand
Где TempExportData2
держит данные, которые вместе с заголовками столбцов
Если вы * запускаете SQL-скрипт *, который вызывает эту проблему, и вы не показываете нам, что * SQL-скрипт *, как вы ожидаете от нас отладки для вас? Мы не можем определить проблему с кодом, который мы не видим. Мне очень маловероятно, что переход с SQL 2005 на 2012 год привел к тому, что заголовки столбцов перемещались сверху вниз, независимо от того, что делает скрипт, и мне обязательно нужно будет увидеть сценарий SQL, который вызвал эту проблему. –
Я добавил вопрос к вопросу. Он работал все отлично за день до того, как мы обновились до SQL 2012, и если я снова запустил запрос в старом экземпляре SQL 2005, он будет работать нормально. Но в 2012 году это просто испортило это. – savvyBrar
@KenWhite делает этот запрос сейчас? – savvyBrar