Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2006.01.15;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.011 c
14-1134900234
Piter
2005-12-18 13:03
2006.01.15
Выдержки из логов одной IRC-сети


3-1132096501
Fl@sh
2005-11-16 02:15
2006.01.15
Данные из другой таблицы * коеффициент


6-1128412479
Profik
2005-10-04 11:54
2006.01.15
MailSlot


14-1135098605
Piter
2005-12-20 20:10
2006.01.15
Может кто-нибудь дать аккаунт на www.filepost.ru? :)


14-1134824641
Ломброзо
2005-12-17 16:04
2006.01.15
Фёдор Михалыч!...





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский