Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.023 c
14-1135112474
sniknik
2005-12-21 00:01
2006.01.15
Разыскивается Файрвол!!!


9-1122972298
Max4
2005-08-02 12:44
2006.01.15
Координаты клика.


14-1134594311
(CHALING 32)S K i N E R
2005-12-15 00:05
2006.01.15
Голосовой чат по сети!


2-1135660834
Officeman
2005-12-27 08:20
2006.01.15
! вопрос нашим мастерам.


3-1132587938
gsa
2005-11-21 18:45
2006.01.15
Delphi5 + ODAC




   Наверх