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

Вниз

TOraLoader, две проблемы   Найти похожие ветки 

 
maep   (2006-01-23 06:29) [0]

Доброго времени суток.
Позволил себе хамство завести новую ветку, т.к. проблема сильно изменилась по сравнению с тем, что было. излагаю заново...
Загружаю данные в оракл посредством TOraloader (ODAC 5.50.19, то ли 5.55, сказано  в readme)
Оракл Oracle9i Enterprise Edition Release 9.2.0.5.0 - 64bit Production

Проблемы, собственно, две:
1) Жуткие непонятки с датой. Поставил нового 9-го клиента. не помогло. А не помогло вот от чего:
Оракл кричит, что час должен быть от 1 до 12 (т.е. будто использует формат даты dd.mm.yyyy hh12.mm.ss),
хотя формат указан  dd.mm.yyyy hh24.mm.ss.
Указан как в свойствах сессии, так и в свойствах колонок в лоадере.

2) При использовании режима загрузки lmDirect Оракл кричит ошибку ORA-26085, на тему того, что прямая заргузка должны быть в отдельной транзакции. Как её устроить то для него, отдельную? Почему об этом ничего не сказано в хелпе к ODAC? (последний вопрос - риторический)

Код, собственно, вот такой простой.
пробовал колонку с датой грузить и как текст
(
[pascal]
   Sender.PutColumnData(3, k + 1, l.GetField(2, 100));
[/pascal]
)

cbData.GetField работает корректно проверено многократно, экспорт в ексель проходит без проблем:)

[pascal]
procedure TFormMain.PutData(Sender: TOraLoader);
var
 k      : integer;
 req_id : integer;
 strt   : TDateTime;
 l      : CLine;
 s      : string;

begin
 cbData.GoToFirst;
 k := 0;
 req := ...;

 while not cbData.Eof do
 begin
   l  := cbData.GetItem;
   Sender.PutColumnData(0, k + 1, req_id);
   Sender.PutColumnData(1, k + 1, Now);
   Sender.PutColumnData(2, k + 1, l.GetField(0,100));
   Sender.PutColumnData(3, k + 1, l.GetField(1, 100));
   Sender.PutColumnData(4, k + 1, StrToDateTimeFrm("dd.mm.yyyy hh:nn:ss", l.GetField(2, 100)));

   inc(k);
 end;

end;

[/pascal]


 
roottim ©   (2006-01-23 09:23) [1]

хучу сказать:
1. если вы пользуйте DML то TOraLoader вам нафиг не нужен. Ибо лоадер в этом режиме сам пользует компонент TOraSql
2. к сожалению DateFormat, который я указал ранее, судя по исходникам не используется в режиме DML, а используется для преобразования строковых данных в формат даты для директ-режима
3. если объемы данных велики - разберитесь с директ-режимом. Эти скорости на порядок выше.
4. я наверно пропустил.., но если вы пользуйте net-режим компонентов, то TOraLoader в директе работать не будет. Это регламентирует crLab.



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

Форум: "Базы";
Текущий архив: 2006.03.12;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.012 c
2-1140974454
zxcv
2006-02-26 20:20
2006.03.12
указатели


3-1137401302
fishka
2006-01-16 11:48
2006.03.12
Запись картинки в DBF - файл


15-1140241586
Crack
2006-02-18 08:46
2006.03.12
Добрый вечер...


4-1135254446
Dush
2005-12-22 15:27
2006.03.12
Постоянно слушать Com-порт


15-1140024293
Хинт
2006-02-15 20:24
2006.03.12
Баннер на сайт





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский