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

Вниз

TClientDataSet.ApplyUpdates(-1)   Найти похожие ветки 

 
Jok   (2005-11-18 16:38) [0]

Мастаки, делаю закачку из файлов в бд. Для этого у меня такая схема:
1. TADODataSet->TDataSetProvider->TClientDataSet
2. File->TADODataSet.LoadFromFile
3. В цыкле заполняю TClientDataSet и делаю сабж.
Смотрю профайлером какие запросы идут на сервак, а там
текстовые поля почему-то дополняются пробелами...
DisableTrimString = false.
Как бороть?


 
Vlad ©   (2005-11-18 16:43) [1]


> Jok   (18.11.05 16:38)  

1. Какой тип БД?
2. Какой тип у текстовых полей в БД?
3. А зачем в этой связке нужны DataSetProvider и ClientDataSet?


 
Jok   (2005-11-18 16:49) [2]

1. MS SQL
2. varchar
3. А как? строить самому запрос?


 
Jok   (2005-11-18 17:22) [3]

Проблема решилась, блин...
nvarchar... сделал varchar стало нормально работать, получается для юникода бага....


 
Vlad ©   (2005-11-18 18:37) [4]


> 3. А как? строить самому запрос?

Ну твой метод, мягко говоря, неоптимален.
Если уж ты в цикле проходишь по ADODataSet, то не резонней ли было бы сразу (в том же цикле) выполнять Insert в базу, с помощью ADOCommand, например.
Или, если у тебя файл хранится в XML формате, то ты можешь вобще не пользоваться DataSetом, а просто передать XML строчку в хранимую процедуру, а та, в свою очередь запишет в базу. Благо SQL сервер с некоторых пор умеет работать с XML :-)


 
Jok   (2005-11-18 19:15) [5]


> Если уж ты в цикле проходишь по ADODataSet, то не резонней
> ли было бы сразу (в том же цикле) выполнять Insert в базу,
> с помощью ADOCommand, например.

Можно пример, а то мне непонятно. Спасибо.


 
Jok   (2005-11-18 19:55) [6]


> Или, если у тебя файл хранится в XML формате, то ты можешь
> вобще не пользоваться DataSetом, а просто передать XML строчку
> в хранимую процедуру, а та, в свою очередь запишет в базу.
> Благо SQL сервер с некоторых пор умеет работать с XML :-)

Вот это уж точно не оптимально. В бинарном виде хранится.
Да, кстати, я гружу постоянно не одну таблицу, а мне все равно какую...



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

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

Наверх




Память: 0.48 MB
Время: 0.026 c
1-1134292864
-Andru-
2005-12-11 12:21
2006.01.15
Help! Help! Help!


2-1135261368
kotbazilio
2005-12-22 17:22
2006.01.15
Помогите составить запрос


2-1135271682
nirvana
2005-12-22 20:14
2006.01.15
Запись значений класса в файл.


10-1111469363
BioAngel
2005-03-22 08:29
2006.01.15
Выгрузить dll


8-1123533460
Zer0
2005-08-09 00:37
2006.01.15
FMOD 1.7 полностью портированный на дельфу