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

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.058 c
10-1114507488
BKV
2005-04-26 13:24
2006.03.12
Задержка при создании com обьекта


8-1128116522
Juice
2005-10-01 01:42
2006.03.12
2 Web-камеры, DSPack или что посоветуете?


2-1140507399
Helen
2006-02-21 10:36
2006.03.12
Разноцветные строки в DBCtrlGrid


15-1139936340
DillerXX
2006-02-14 19:59
2006.03.12
Расписание ЖД поездов...


4-1134921296
I am
2005-12-18 18:54
2006.03.12
Глобальные хуки