Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 [4] 5   вперед  Ctrl      все
 Re: сохранение результата запроса в файл Excel  [new]
natya
Member [заблокирован]

Откуда: Азербайджан, Баку
Сообщений: 347
Cammomile
DECLARE 
  @D NVarChar(Max) 

/* собрали CSV*/
SET @D = '[Фамилия];[Имя]' + Char(13) + 'Петров;Иван' +  Char(13) + 'Сидоров;Семен' + Char(13)
/*добавили заголовок*/
SET @D = 'Заголовок: тестовый заголовок' + Char(13) + @D  
/*записали в файл*/  
EXEC [dbo].[spSaveToFile]  
  @@File	   = 'путь к файлу\xxx.CSV'
 ,@@Data	   =	@D
 ,@@Encoding = 'utf-8'
  
 



и етот скрипт у меня не получилос
30 май 13, 08:24    [14367848]     Ответить | Цитировать Сообщить модератору
 Re: сохранение результата запроса в файл Excel  [new]
sql_padavan
Member

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

А у вас вообще как нибудь получается вывести в excel
30 май 13, 08:41    [14367918]     Ответить | Цитировать Сообщить модератору
 Re: сохранение результата запроса в файл Excel  [new]
natya
Member [заблокирован]

Откуда: Азербайджан, Баку
Сообщений: 347
sql_padavan
А у вас вообще как нибудь получается вывести в excel


я говорю о отчетем

не експортироват табло на excell
30 май 13, 08:43    [14367930]     Ответить | Цитировать Сообщить модератору
 Re: сохранение результата запроса в файл Excel  [new]
natya
Member [заблокирован]

Откуда: Азербайджан, Баку
Сообщений: 347
sql_padavan
А у вас вообще как нибудь получается вывести в excel



а ты не получил резултат?
30 май 13, 08:50    [14367959]     Ответить | Цитировать Сообщить модератору
 Re: сохранение результата запроса в файл Excel  [new]
sql_padavan
Member

Откуда:
Сообщений: 22
natya,
получил но не в том виде
у меня гонит опция -s в sql cmd к примеру я ввожу -s, выходит ошибка если ввожу -s: работает. А надо чтобы разделитель был (,)
30 май 13, 09:00    [14367991]     Ответить | Цитировать Сообщить модератору
 Re: сохранение результата запроса в файл Excel  [new]
qwerty112
Guest
sql_padavan
natya,
получил но не в том виде
у меня гонит опция -s в sql cmd к примеру я ввожу -s, выходит ошибка если ввожу -s: работает. А надо чтобы разделитель был (,)

http://msdn.microsoft.com/ru-ru/library/ms162773.aspx
-s col_separator
Задает символ-разделитель столбцов. Значением по умолчанию является пробел. Этот параметр устанавливает переменную скрипта SQLCMDCOLSEP программы sqlcmd. Чтобы использовать символы, имеющие специальное значение для операционной системы, такие как амперсанд (&) или точка с запятой (;), заключайте этот символ в кавычки ("). Разделитель столбцов может быть любым 8-разрядным символом.
30 май 13, 09:07    [14368019]     Ответить | Цитировать Сообщить модератору
 Re: сохранение результата запроса в файл Excel  [new]
Glory
Member

Откуда:
Сообщений: 104760
sql_padavan
кто знает из за чего это может быть?

Из-за того, что между ключом и его значением должен быть пробел
30 май 13, 09:12    [14368041]     Ответить | Цитировать Сообщить модератору
 Re: сохранение результата запроса в файл Excel  [new]
natya
Member [заблокирован]

Откуда: Азербайджан, Баку
Сообщений: 347
qwerty112,

я могу експортироват табличы в excell с заголовкой


например таблича так

id phone money
--- ----- -------

1 222 3.2


а должен так експортироват

-----------------------
привет всем
я натя привествую вас
------------------------
id phone money
--- ----- -------

1 222 3.2

итог:12.36
30 май 13, 09:12    [14368043]     Ответить | Цитировать Сообщить модератору
 Re: сохранение результата запроса в файл Excel  [new]
natya
Member [заблокирован]

Откуда: Азербайджан, Баку
Сообщений: 347
natya,

вообше ето возможна?
30 май 13, 09:13    [14368049]     Ответить | Цитировать Сообщить модератору
 Re: сохранение результата запроса в файл Excel  [new]
natya
Member [заблокирован]

Откуда: Азербайджан, Баку
Сообщений: 347
natya,

а новерно никто не знает об етом
30 май 13, 09:24    [14368108]     Ответить | Цитировать Сообщить модератору
 Re: сохранение результата запроса в файл Excel  [new]
natya
Member [заблокирован]

Откуда: Азербайджан, Баку
Сообщений: 347
Cammomile
DECLARE 
  @D NVarChar(Max) 

/* собрали CSV*/
SET @D = '[Фамилия];[Имя]' + Char(13) + 'Петров;Иван' +  Char(13) + 'Сидоров;Семен' + Char(13)
/*добавили заголовок*/
SET @D = 'Заголовок: тестовый заголовок' + Char(13) + @D  
/*записали в файл*/  
EXEC [dbo].[spSaveToFile]  
  @@File	   = 'путь к файлу\xxx.CSV'
 ,@@Data	   =	@D
 ,@@Encoding = 'utf-8'
  



--------------------

получаю ошибку

must declare the variable '@D'
30 май 13, 09:46    [14368202]     Ответить | Цитировать Сообщить модератору
 Re: сохранение результата запроса в файл Excel  [new]
natya
Member [заблокирован]

Откуда: Азербайджан, Баку
Сообщений: 347
natya,

EXEC [dbo].[spSaveToFile]


а ето системная прочедура?
30 май 13, 09:56    [14368242]     Ответить | Цитировать Сообщить модератору
 Re: сохранение результата запроса в файл Excel  [new]
Сергей Викт.
Member

Откуда: Москва
Сообщений: 888
natya
natya,

EXEC [dbo].[spSaveToFile]


а ето системная прочедура?

системные процедуры базы данных имеют схему sys. Это не системная процедура
30 май 13, 09:57    [14368261]     Ответить | Цитировать Сообщить модератору
 Re: сохранение результата запроса в файл Excel  [new]
natya
Member [заблокирован]

Откуда: Азербайджан, Баку
Сообщений: 347
Сергей Викт.
Это не системная процедура


да знаю и поетому записал


а как можна сохранит резултат с заголовкой
я просто незнаю что делат
30 май 13, 10:01    [14368285]     Ответить | Цитировать Сообщить модератору
 Re: сохранение результата запроса в файл Excel  [new]
Cammomile
Member

Откуда:
Сообщений: 1214
spSaveToFile ---> [dbo].[ExcelExport] Простите не уследил



ALTER PROCEDURE [dbo].[ExcelExport] (
	 @@File		SysName
	,@@Data		NVarChar(max)
	,@@Encoding	SysName	= 'utf-8'
) WITH EXECUTE AS OWNER AS BEGIN
	DECLARE	 @OLEStream	Int
		,@Code		Int
		,@Method	SysName
		,@Source	SysName
		,@Descript	NVarChar(4000)
	EXEC @Code = sys.sp_OACreate 'ADODB.Stream' ,@OLEStream OUT
	IF (@Code != 0)
		SELECT	 @Method	= 'Scripting.Stream'
			,@Source	= 'sp_OACreate'
			,@Descript	= 'Ошибка создания OLE объекта'
	ELSE BEGIN
		SET @Method = 'Open';		EXEC @Code = sys.sp_OAMethod		@OLEStream ,@Method			IF (@Code != 0) GOTO Error;
		SET @Method = 'CharSet';	EXEC @Code = sys.sp_OASetProperty	@OLEStream ,@Method, @@Encoding		IF (@Code != 0) GOTO Error;
		SET @Method = 'WriteText';	EXEC @Code = sys.sp_OAMethod		@OLEStream ,@Method ,NULL ,@@Data	IF (@Code != 0) GOTO Error;
		SET @Method = 'SaveToFile';	EXEC @Code = sys.sp_OAMethod		@OLEStream, @Method, NULL, @@File, 2	IF (@Code != 0) GOTO Error;
		SET @Method = 'Close';		EXEC @Code = sys.sp_OAMethod		@OLEStream, @Method			IF (@Code != 0) GOTO Error;
		SET @Method = NULL; GOTO Destroy;
Error:						EXEC @Code = sys.sp_OAGetErrorInfo	@OLEStream ,@Source OUT ,@Descript OUT
Destroy:					EXEC @Code = sys.sp_OADestroy		@OLEStream
	END
	-- Вывод ошибок
	IF (@Method IS NOT NULL) BEGIN
		RAISERROR('Ошибка при выполнении метода "%s" в "%s": %s',18,1,@Method,@Source,@Descript)
		RETURN	@@Error
	END
END
GO
30 май 13, 10:19    [14368361]     Ответить | Цитировать Сообщить модератору
 Re: сохранение результата запроса в файл Excel  [new]
natya
Member [заблокирован]

Откуда: Азербайджан, Баку
Сообщений: 347
Cammomile,

WITH EXECUTE AS OWNER AS BEGIN


у меня sql2000

WITH EXECUTE AS будет работата
30 май 13, 10:30    [14368412]     Ответить | Цитировать Сообщить модератору
 Re: сохранение результата запроса в файл Excel  [new]
Cammomile
Member

Откуда:
Сообщений: 1214
Ну дак уберите.
30 май 13, 10:36    [14368449]     Ответить | Цитировать Сообщить модератору
 Re: сохранение результата запроса в файл Excel  [new]
Cammomile
Member

Откуда:
Сообщений: 1214
А вообще это же только один из способов писать в файл. Вы можете также использовать BCP, я выше приводил ссылки на статью Glory.
30 май 13, 10:41    [14368488]     Ответить | Цитировать Сообщить модератору
 Re: сохранение результата запроса в файл Excel  [new]
sql_padavan
Member

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

Я использовал BCP, но при выводе отчета киррилица не правильно отображается, а с английской проблем нет
30 май 13, 10:47    [14368536]     Ответить | Цитировать Сообщить модератору
 Re: сохранение результата запроса в файл Excel  [new]
natya
Member [заблокирован]

Откуда: Азербайджан, Баку
Сообщений: 347
Cammomile
Ну дак уберите


всеравно не получается


------------

думую процес так

первоначално создаем процедуре и потом делаюм експорт


но у меня запрос в скл2000

так
----------------
select t3.phone2,
ISNULL(tt1.sadbr,0.0)-ISNULL(t242.qebzbr,0.0) as f2
,ISNULL(t2.debt,0.0)-isnull(t1.old_debt,0.0) as f1
,ISNULL(p.mny,0) as abser_ode
,ISNULL(d.av_sad,0) as avansid_ode
from @table3 as t3
left join (select ph,SUM(qebzbr) as qebzbr FROM @t242 group by ph) as t242 ON t242.ph= t3.phone2
left join (select phone,SUM(sadbr) as sadbr FROM @t1 group by phone) as tt1 ON tt1.phone= t3.phone2
left join (select phone1,SUM(debt) as debt FROM @table2 group by phone1) as t2 ON t2.phone1 = t3.phone2
left join (select phone,SUM(old_debt) as old_debt from @table1 group by phone) as t1 ON t1.phone = t3.phone2
left join (select convert(int,telefon) as tf,sum(convert(money,odenis)/100.0) as mny
from @absher group by convert(int,telefon)) p ON p.tf = t3.phone2
left join (select convert(int,tlf) as tlf ,sum(convert(money,Test)/100.0) as av_sad
from @avans group by convert(int,tlf))as d on d.tlf=t3.phone2



а резултат так

phone2 f2 f1 abser_ode avansid_ode
111111 -7,40 -5,07 1.450000000 5.580000000


нужн експортироват резултат в excell
примерно так

------------------------------

чччч чччччччччч чччччч
чччччччч чччччччч
-------------------------------------------------
phone2 f2 f1 abser_ode avansid_ode
111111 -7,40 -5,07 1.450000000 5.580000000
30 май 13, 10:51    [14368570]     Ответить | Цитировать Сообщить модератору
 Re: сохранение результата запроса в файл Excel  [new]
sql_padavan
Member

Откуда:
Сообщений: 22
sql_padavan
Cammomile,

Я использовал BCP, но при выводе отчета киррилица не правильно отображается, а с английской проблем нет


c BCP я разобрался нужно добавить опцию -claw.А как сделать также для sqlcmd
30 май 13, 12:48    [14369547]     Ответить | Цитировать Сообщить модератору
 Re: сохранение результата запроса в файл Excel  [new]
Гость333
Member

Откуда:
Сообщений: 3683
sql_padavan
c BCP я разобрался нужно добавить опцию -claw

У bcp нет такой опции
30 май 13, 13:01    [14369627]     Ответить | Цитировать Сообщить модератору
 Re: сохранение результата запроса в файл Excel  [new]
sql_padavan
Member

Откуда:
Сообщений: 22
Гость333
sql_padavan
c BCP я разобрался нужно добавить опцию -claw

У bcp нет такой опции

пока не менее она работает и выводит правильно
30 май 13, 13:11    [14369671]     Ответить | Цитировать Сообщить модератору
 Re: сохранение результата запроса в файл Excel  [new]
Glory
Member

Откуда:
Сообщений: 104760
sql_padavan
пока не менее она работает и выводит правильно

мало того, что значение для ключа указали неверно, так вы еще и регистры не различаете
-с и -СRAW - это разные вещи. -claw не существует
30 май 13, 13:14    [14369693]     Ответить | Цитировать Сообщить модератору
 Re: сохранение результата запроса в файл Excel  [new]
sql_padavan
Member

Откуда:
Сообщений: 22
Glory,
А почему при выводе файла через sqlcmd отображается что то типа такого 1,‘г«Ґ©¬Ґ­®ў †.,ЉЂ‘Љ…‹…Ќ, ’ЋЋ "Ђ©Є ЊҐ¤",Њ ¬Ґ¤®ў  ‘ ­Ёп, ’ Ґў  нужно указать: –f code_page
или
–f i:code_page1
[, o:code_page2]
Правильное направление?
30 май 13, 13:22    [14369736]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 [4] 5   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить