Главная страница
    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.013 c
15-1140379731
TUser
2006-02-19 23:08
2006.03.12
Ночной дозор использует Рамблер ...


15-1139831942
VirEx
2006-02-13 14:59
2006.03.12
настройка почты в User Gate! нужно настроить MS Outlook 2002


2-1140437359
nap<>
2006-02-20 15:09
2006.03.12
TEhLib


15-1139864793
QwertyKz
2006-02-14 00:06
2006.03.12
Замена строк


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