Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.07.26;
Скачать: CL | DM;

Вниз

выгрузить xml из хранимки в файл   Найти похожие ветки 

 
gameus ©   (2008-10-24 18:40) [0]

Добрый день, подскажите плиз как программно из хранимки

USE [database]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[MyPrc]
AS
select * from EVENT for xml auto

получить выгрузку и сохранить результат в файл.
Если не трудно пример.


 
gameus ©   (2008-10-25 12:46) [1]

обнаружил, что если выполнять через sqlcmd получим следующее
при
sqlcmd -E -S sqlserver -d database -Q"select * from EVENT for xml auto" -oD:\01.txt
в результате получим хлам,
а при
sqlcmd -E -S sqlserver -d database -ic:\1.sql -oc:\output.txt
где 1.sql

:XML ON
select * from EVENT for xml auto

получим желаемый результат.
Вопрос, как теперь это реализовать из delphi...


 
sniknik ©   (2008-10-25 13:52) [2]

> Вопрос, как теперь это реализовать из delphi...
запрос у тебя есть ->
select * from EVENT for xml auto
осталось только выполнить, да сохранить значения полей из полученного рекордсета в файл...
т.е. тоже самое что делает sqlcmd  в приведённом примере.

сложности организовать цикл типа
while  not dataset.eof do begin
 writeln(file, dataset.fields[0].asstring);
 dataset.next
end
???


 
gameus ©   (2008-10-25 15:33) [3]

при for xml auto на выходе получаем blob поле в котором хлам, попробуйте сами
там даже цикл делать не нужно все данные в dataset.fields[0]


 
sniknik ©   (2008-10-25 16:22) [4]

> получаем blob поле в котором хлам, попробуйте сами
это не хлам, это юникод.

> там даже цикл делать не нужно все данные в dataset.fields[0]
это потому, что данных у тебя мало.


 
gameus ©   (2008-10-25 16:57) [5]

как их к нормальному виду привести ? при Utf8ToUnicode() получаем мусор...

если возможно код плиз


 
gameus ©   (2008-10-25 17:00) [6]

> там даже цикл делать не нужно все данные в dataset.fields[0]
это потому, что данных у тебя мало.

проверил в sql server 2005 - при любом количестве данных одна запись


 
sniknik ©   (2008-10-25 17:39) [7]

> если возможно код плиз
никакого кода, все мышкой... делаешь подключение через ODBC (преобразование пройдет само из блоб в мемо-ansi), подключаешь датасет, dbmemo, соединяешь, пишешь запрос, открываешь датасет прям в режиме разработки, в dbмемо будет нужный текст.

> проверил в sql server 2005 - при любом количестве данных одна запись
нет 2005го, в 200м бьется по 4066 байт, может есть какая то настройка увеличивающая этот предел... х.з.



Страницы: 1 вся ветка

Текущий архив: 2009.07.26;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.015 c
15-1242811594
DillerXX
2009-05-20 13:26
2009.07.26
Подскажите аудио-битрейт-ченджер


15-1242745618
@!!ex
2009-05-19 19:06
2009.07.26
Програмно сделать GET запрос веб серверу и получить ответ.


2-1243910208
Abcdef123
2009-06-02 06:36
2009.07.26
Как сделать,чтоб форма не показывалась?


2-1243446563
Eugene1501
2009-05-27 21:49
2009.07.26
Сжатие данных в Delphi стандартными компонентами


15-1243248441
palva
2009-05-25 14:47
2009.07.26
О приватности в сети. Я фигею.