31.01.2006, 16:51 | #1 |
Moderator
|
Связь с внешними таблицами
Есть потребность связать в запросе таблицу Axapta (СУБД - Oracle) с таблицей из другой схемы Oracle (эта другая таблица, понятное дело, не содержится в AOT) на предмет регулярного чтения данных из последней и обработки этих данных в Axapta.
(Т.е. нужно нечто похожее на то, как в файле Access приоединяется таблица ODBC, которая потом может связываться в запросе "как родная" с родной таблицей Access.) Задача решаема? Как лучше поступить? |
|
31.01.2006, 17:14 | #2 |
Модератор
|
Пакетный сервер - connection - не забудьте в таблице (или связанной, чтобы при синхронизации не пропало, если еще из одной аксапты доступ есть.. или в ней тоже это поле создайте) так вот, не забудьде признак ставить, что запись уже импортированна. Или каким-то образом отражать это в аксапте, но это хуже - выборка будет не по новым данным, а по всей таблице.
Или KPI задействуйте - этот механизм умеет брать данные из внешних источников. С Уважением, Георгий |
|
|
За это сообщение автора поблагодарили: Gustav (3). |
01.02.2006, 09:04 | #3 |
Moderator
|
Георгий, спасибо за Вашу реакцию.
Но, извиняюсь за свою дремучесть, нельзя ли несколько подробнее для beginner-ов? Пакетный сервер - это DDE? А KPI что такое? Какой-то programming interface? |
|
01.02.2006, 11:22 | #4 |
Модератор
|
Нет, использование пакетного сервера - это просто рекомендация. Никто не запрещает Вам запускать обмен по нажатию чудо-кнопки.
Но обычно для периодических операций настраивают специальную отдельную машинку, которая запускает пакетную обработку рессурсоемких операций в момент наименьшей нагрузки на систему (обычно-ночью), что бы избежать взаимных блокировок. Подробнее, а так же о том, имет ли смысл его разворачивать - поиске. KPI - это приятный механизм, позволяющий наглядно отобразить ситуацию. Такие красивые картинки в виде спидометра... шкала с возможностью настройки, желаемого значения и текущего значения показателя. С Уважением, Георгий |
|
01.02.2006, 12:57 | #5 |
Участник
|
можно через одбс заполнять временную таблицу, и уже делать с ней и просмотр, и обработку в акаспте. на мой взгляд самый простой способ, не требующий доп. настроек пакетного сервера. таким образом данные доступны в любой момент времени
|
|
|
За это сообщение автора поблагодарили: Gustav (3). |
01.02.2006, 15:38 | #6 |
Moderator
|
Ага, только давайте определимся с термином "временная".
"Временной" может быть: (1) таблица, созданная в AOT Axapta, со свойством Temporary = Yes, (2) таблица, созданная в AOT Axapta, со свойством Temporary = No и рассматриваемая нами как "временная" в смысле "промежуточная", (3) таблица, созданная средствами СУБД (у меня - Oracle) при помощи SQL: CREATE GLOBAL TEMPORARY TABLE. Уважаемый mit, я правильно понимаю, что Вы говорите о таблице (2) ? |
|
01.02.2006, 15:55 | #7 |
Участник
|
демагогия. хорошо, давайте порассуждаем о термене "временная"
таблица может еще быть представлена в виде массива, или контейнера... да как угодно, только вот не понимаю иронии. если Вам нужно от субд уйти и получить данные в аксапте, при чем здесь вариант 3? остается 1 и 2. 2 мне не нравится по ряду причин, которые приводить пока не буду, хотя в Вашем случае это может быть и есть правильное решение. вариант 1 на мой взгляд соответствует описанной задаче на 100. |
|
01.02.2006, 16:35 | #8 |
Moderator
|
Цитата:
Сообщение от mit
таблица может еще быть представлена в виде массива, или контейнера...
Никакой иронии я и в мыслях не держал. Сорри, конечно, если Вам так показалось. "Предлагаю дружить домами!" Вариант 2 мне физически наиболее понятен, но он предполагает создание в АОТ фактически 2-й копии интересующей таблицы, чего по понятным причинам делать не хочется. А при варианте 1 я смогу каким-то образом увидеть (изменять) содержание этой временной таблицы вне Аксапты? |
|
01.02.2006, 16:50 | #9 |
Участник
|
Цитата:
Сообщение от Gustav
Спасибо, для меня и это ценная информация! Я об этом не знаю (пока во всяком случае). Но с этого момента начну и это иметь в виду, поизучаю.
Никакой иронии я и в мыслях не держал. Сорри, конечно, если Вам так показалось. Цитата:
Сообщение от Gustav
"Предлагаю дружить домами!"
Цитата:
Сообщение от Gustav
Вариант 2 мне физически наиболее понятен, но он предполагает создание в АОТ фактически 2-й копии интересующей таблицы, чего по понятным причинам делать не хочется.
А при варианте 1 я смогу каким-то образом увидеть (изменять) содержание этой временной таблицы вне Аксапты? --- связать в запросе таблицу Axapta с табл. из Oracle на предмет регулярного чтения данных и обработки этих данных в Axapta. --- предложенный вариант покрывает потребности. если нужно иметь эти данные постоянно, то встает вопрос синхронизации. у Вас возникает поребность иметь одни данные в разных местах? тогда это не внешний источник, тогда это импорт. в вариантах 1 и 2 предполагается создание объекта в аот, причем разница, как Вы правильно заметили только в одном - в свойстве таблицы. описывайте подробнее свою задачу, иначе сказать больше чем сказано не получится. Последний раз редактировалось mit; 01.02.2006 в 16:54. |
|
|
За это сообщение автора поблагодарили: Gustav (1). |
01.02.2006, 17:13 | #10 |
Moderator
|
To mit & George Nordic : Уважаемые коллеги, спасибо вам за обсуждение. Поперевариваю тему с учетом ваших замечаний.
|
|
|
Похожие темы | ||||
Тема | Ответов | |||
Связи между таблицами | 19 | |||
Трудности с созданием отношений между таблицами | 4 | |||
Связь с временной таблицей... | 2 | |||
Связь двух таблиц | 10 | |||
связь между таблицами | 2 |
|