Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 mssql to excel  [new]
vah
Member

Откуда:
Сообщений: 2674
Скажите пожалуйста,
делаю экспорт данных с сервера в эксель
таким образом

DECLARE @sql1 as nvarchar(2000);
set @sql1='INSERT INTO OPENROWSET(''Microsoft.ACE.OLEDB.12.0'',
						   ''Excel 8.0;Database='+@filename+';HDR=YES'', 
						   ''SELECT * FROM [Лист1$]'')'+@sql;		   

EXEC(@sql1);



Все хорошо. Только если строка более 255 символов, ты она не вставляется в ячейку эксель и выдается ошибка:

Сообщение 8152, уровень 16, состояние 10, строка 56
Символьные или двоичные данные могут быть усечены.
Выполнение данной инструкции было прервано.

Как это побороть?

Заранее благодарен.
18 апр 17, 10:44    [20409884]     Ответить | Цитировать Сообщить модератору
 Re: mssql to excel  [new]
rnk
Member

Откуда:
Сообщений: 126
vah,
Теоретически при выгрузке надо бы использовать поля MEMO, но практически, подозреваю, тут без извращений не обойдёшься. Если таких столбцов немного и их длина не сильно превышает 255, то мне представляется, что проще тупо разбить такую колонку на несколько по 255.
18 апр 17, 11:20    [20410056]     Ответить | Цитировать Сообщить модератору
 Re: mssql to excel  [new]
vah
Member

Откуда:
Сообщений: 2674
Странно конечно. Вроде тривиальная задача, решения толкового в инете нет...
18 апр 17, 20:53    [20412472]     Ответить | Цитировать Сообщить модератору
 Re: mssql to excel  [new]
tunknown
Member

Откуда:
Сообщений: 768
vah
решения толкового в инете нет...
Подходящего решения мне неизвестно. Могу предложить неподходящее. Нужно иметь .xls файл в качестве шаблона. Например, с верхней строкой с названиями полей. Названия должны быть 256 или больше символов, чтобы Excel понял, что они с типом длинных строк. После вставки данных эту строку можно удалить, например, через vbscript. Кроме HDR, возможно, стоит упомянуть IMEX. Ищите про него в сети.
18 апр 17, 21:46    [20412605]     Ответить | Цитировать Сообщить модератору
 Re: mssql to excel  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8322
vah,

а почему Вы не хотите использовать VBA? Сервер, в общем не является _прикладным_приложением_, его задача состоит в выполнении запросов. А что уже с результатом происходит - забота приложения.
18 апр 17, 23:53    [20412900]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить