Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Импорт из икселя в оракл.

6.6K
07 августа 2004 года
A_L_E_X_ZED
13 / / 07.08.2004
Если есть возможность, пожалуйста подскажите как разрешить проблему!!!

Дело вот в чем:
Имеется приложение BCB 5.0, задачей которого является:
- считывание информации из некоторого excel-файла (это происходит посредством использование объектов класса Variant)
- работа с БД ORACLE (посредством использования компонентов TADOStoredProcedure и TADOQuery )
- считанная информация из excel обрабатывается посредством запуска ряда процедур БД, в качестве параметров процедур выступают считанные данные.
- формирование log-файла ошибок, появление которых возможно при проверке и записи данных
- после проведения проверок запускается процедура БД на добавление записи, параметрами которой опять же являются считанные из excel данные!!!
Проблема заключается в том, что нет стабильности работы приложения, которая проявляется в виде внезапного появления окна borland-ового CPU-отладчика во время работы программы!!!
При этом, чтобы программа возобновила работу, достаточно повторно нажать кнопку запуска приложения!!!
В этой ситуации в log-файле фиксируется ошибка некорректного выпролнения процедуры, которую запускают компоненты ADO. Вот пример ошибки-

(Строка EXCEL файла № 0
ВНИМАНИЕ!!! данных по NRN
значение - 0
Не найдено в БД!
Ячейки <D05> Ошибка добавления затраты в БД!! )
!!!!!!!!!!!!!!!!!!!далее следует расшифровка ошибки!!!!

ORA-06550: line 1, column 28:
PLS-00103: Encountered the symbol "«" when expecting one of the following:
( ) - + mod not null others <an identifier>
<a double-quoted delimited-identifier> <a bind variable>
table avg count current exists max min prior sql stddev sum
variance execute multiset the both leading trailing forall
year month DAY_ HOUR_ MINUTE_ second TIMEZONE_HOUR_
TIMEZONE_MINUTE_ time timestamp interval date
<a string literal with character set specification>
<a number>
)
!!!!!!!!!!!Класс ошибки!!!!!!!!!!!!!!!
Exception
))
Ругань на параметры процедуры, хотя при повторном запуске все будет нормально!!!


Подобное явление происходит случайно, при повторном запуске приложения, при одинаковых исходных данных, обработка вполне может нормально завершиться. Некорректая работа при выделении и удаление памяти маловероятна, т.к. сам я это тщательно проверил и ниразу не фиксировалось исключение класса EAccessViolation.

Благодарю за внимание!!!!


Gromoff
10
08 августа 2004 года
Freeman
3.2K / / 06.03.2004
Цитата:
Originally posted by A_L_E_X_ZED
ORA-06550: line 1, column 28:
PLS-00103: Encountered the symbol "«" when expecting one of the following:
( ) - + mod not null others <an identifier>
<a double-quoted delimited-identifier> <a bind variable>
table avg count current exists max min prior sql stddev sum
variance execute multiset the both leading trailing forall
year month DAY_ HOUR_ MINUTE_ second TIMEZONE_HOUR_
TIMEZONE_MINUTE_ time timestamp interval date
<a string literal with character set specification>
<a number>
)


А Oracle какой версии? В какой кодовой странце создана база и какую использует клиент?

Вообще, похоже на глюки Oracle или ADO при работе с кодовой страницей или полями типа дата/время.

6.6K
10 августа 2004 года
A_L_E_X_ZED
13 / / 07.08.2004
Проблемы с кодовой страницей и ораклом наврядли. При повторных запусках все срабатывает.
Ошибка возникает случайно. Очень похоже на ошибки работы с памятью. Хотя это не ошибка памяти так как стоит try блок который ловит EAccessViolation
Исключение такого класса не появлялось.
Скорее всего что некорректно работает компонент TADOStoredProcedure. Ошибка возникает при вызове метода StoredProcedure ExecProc();

Подскажите как грамотно организовывывать интерфейс при работе с БД исходя из вашего опыта.
7.9K
10 августа 2004 года
avc
13 / / 04.08.2004
Цитата:
Originally posted by A_L_E_X_ZED
Подскажите как грамотно организовывывать интерфейс при работе с БД исходя из вашего опыта.


Лично я не люблю ADO. Вечно с ним "глюки". Мне понравился DOA. И проблем с ним за два года еще не было.

469
10 августа 2004 года
Sli
71 / / 20.01.2000
ADO действительно подглючивает с ораклом, для него лучше пользовать DOA или ODAC.

При исползовании компонента TADOStoredProcedure в C++Builder 5.0 , при определении строки подключения к любой БД ORA 8xx желательно в окне выбора драйвера выбрать (MicroSoft OLEDB for ORA...), при выборе драйвера (ORACLE) подключение будет реализовано, но определение параметров хранимых процеур будет производится некорректно, что повлечет при выполнении процедуры исключения.
10
10 августа 2004 года
Freeman
3.2K / / 06.03.2004
Цитата:
Originally posted by A_L_E_X_ZED
Подскажите как грамотно организовывывать интерфейс при работе с БД исходя из вашего опыта.


Я скажу, но тебе не понравится. 8)

Мы используем компоненты ODAC для прямого доступа к БД Oracle, посредством установленного Oracle Client.

6.6K
10 августа 2004 года
A_L_E_X_ZED
13 / / 07.08.2004
Компоненты скачены и изучаются.
Всем большое спасибо за ответы!!!
6.6K
19 августа 2004 года
A_L_E_X_ZED
13 / / 07.08.2004
Сравнительная характеристика компонент DOA и ODAC.
http://ash.hut.ru/cgi-bin/main.pl?Data=prog|DBDelphi|DOAvsODAC&what=printview
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог