15.11.2005, 13:28 | #1 |
Участник
|
Добрый день,
Посоветуйте как реализовать обмен данными между базой AXAPTA и базой Oracle. Подробнее: - есть удалённая база Oracle - есть AXAPTA - исходные данные хранятся в базе Oracle(одна таблица). Данные изменяются строго INSERT. - хочется чтобы при ставке записи в удалённой базе - появлялась запись в cоответствующей таблице AXAPTA. Посоветуйте, как правильно это реализовать? Способ через COM-connector опробован, в тестовом режиме работает. Может есть ещё варианты? |
|
16.11.2005, 01:13 | #2 |
Модератор
|
а на какой СУБД живет аксапта?
__________________
-ТСЯ или -ТЬСЯ ? |
|
16.11.2005, 09:44 | #3 |
Участник
|
Цитата:
Сообщение от Nickolay
Может есть ещё варианты?
__________________
YEP! тел. (905) 561-94-00 |
|
16.11.2005, 22:03 | #4 |
Участник
|
Цитата:
Сообщение от Dolter
...
ADO, DTS, XML, etc... ... Есть еще offline вариант. Выгружать в текстовый файл или промежуточную БД, периодически в пакетном режиме оттудова забирать. |
|
16.11.2005, 22:15 | #5 |
Участник
|
Цитата:
Сообщение от glibs
В Аксапте есть "проблема" с RecId...
|
|
17.11.2005, 10:58 | #6 |
Участник
|
Цитата:
Сообщение от glibs
Не все так просто. В Аксапте есть "проблема" с RecId (искуственный идентификатор записи, присутствующий в каждой таблице; номер уникален для компании — наиболее крупной логической единицы в системе, выделяется на прикладном уровне).
Причина всего одна и указана в ссылке, которую дал Mazzy: "Его значение может измениться результате импорта/экспорта." Хотя "радует" и следующее предложение: "Однако бывают в этом алгоритме глюки, если у тебя два поля с RECID и/или ты включаешь/исключаешь твою таблицу в коллекцию." Для идентификации записей (коллекций) в Аксапте лучше всего использовать составные ключи. Причем приходится чисто опытным путем подбирать наборы полей для построения составного ключа. Но что поделать? :-) Цитата:
Сообщение от glibs
Есть еще offline вариант. Выгружать в текстовый файл или промежуточную БД, периодически в пакетном режиме оттудова забирать.
От текста тоже не стоит отказываться. По крайней мере в своих инструментах мы часто используем такие (XML, CSV) возможности. Их очень удобно использовать при обмене через ftp или e-mail между ну очень удаленными точками, где невозможно поднять качественные каналы связи.
__________________
YEP! тел. (905) 561-94-00 |
|
17.11.2005, 15:47 | #7 |
Участник
|
Спасибо всем за ответы.
почерпнул много полезной информации по конкретному вопросу и не только. Самый соблазнительный своей простотой вариант предложен на "буржуйском" сайте: - заблокировать таблицу - увеличить NextVal - и взять его для RecId в нужной таблице Но такое "хакерство" над ключевой таблицей системы меня пока страшит... Ещё раз всем спасибо. Буду думу думать... Во второй раз получаю реальную помощь на вашем форуме. |
|
17.11.2005, 16:59 | #8 |
Участник
|
esli est' finansi i AxaptaCient/Server imejut dostup k Oracle BD, to mozhna ustroit' BatchServer, kotorij budet konnektitsja kazduju minutu iz zabirat' dannie.
Isolzovat' mozna Connection/Statement klasi dlja podkljuchenija k BD.. (online rezhim) ili parsit' XML fail, kotorij budet vidavat' Oracle cherez Web (u nego est' vnutrennij HTTP-Server[apache]), - dumaju eto toze mozno realizovat' |
|
16.12.2005, 19:32 | #9 |
Участник
|
а что мешает склалывать данные во временную таблицу, а аксапте при проверке этой таблицы автоматом распихивать куда надо?
|
|