Главная страница
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.019 c
15-1242852156
Германн
2009-05-21 00:42
2009.07.26
Копирование таблицы из pdf в doc


15-1242922477
Rouse_
2009-05-21 20:14
2009.07.26
Для интересующихся защитой и в особенности ключами Guardant


15-1243262430
Unknown user
2009-05-25 18:40
2009.07.26
быстрый TTreeView


15-1243234883
b/@.
2009-05-25 11:01
2009.07.26
Какой метод разработки предпочитаете ?


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