Экспорт данных из Access 365 в IBM i-Series v7r1 - PullRequest
0 голосов
/ 18 июня 2020

Кто-нибудь добился успеха в этом?

1.) Я хотел бы создавать таблицы и формы в Access 365 как пользовательский интерфейс.

2.) Создание НОВОГО пакета транзакций инвентаризации таблицу (Заголовок пакета инвентаризационных транзакций и детали инвентаризационных транзакций) в серии IBM i.

3.) «Разнесите» транзакции в инвентаризационные детали транзакций 4.) сохраните и закройте пакет.

В настоящее время у меня есть разрешение «только для чтения», чтобы получать данные ИЗ i-Series и импортировать их для доступа с помощью ODB C, но я хотел бы знать, есть ли способ «записывать» данные в 2 таблицы, связанные с таблицами, как указано выше.

И таблица заголовков пакета, и таблица сведений о транзакции используют сгенерированный (уникальный) последовательный номер, поэтому я думаю, что самые высокие значения должны быть «найдены», а также заблокированы новые значения, чтобы что они не могут быть повторно использованы другим пользователем.

Просто «Сложно» или «Невозможно»?

1 Ответ

2 голосов
/ 18 июня 2020

во-первых - поймите, что версии v7r1 более 10 лет, и она какое-то время не поддерживается ... вы, вероятно, столкнетесь с проблемами с драйверами, особенно при работе на поддерживаемых версиях Windows.

ODB C двунаправлен ... писать так же просто, как читать. Но вам понадобится разрешение на запись, также известное как * CHG, для таблицы.

Прошли годы, но IIR C вы можете использовать связанную таблицу Access для чтения / записи непосредственно в таблицу на i. Но я бы не рекомендовал его для больших (или важных) таблиц.

Одна вещь, которая обычно сбивает с толку новичков, - это то, что по умолчанию ODB C пытается использовать транзакции, также известные как контроль фиксации. Чтобы это работало, таблицы должны вестись на i. Или вы можете установить уровень фиксации на * NONE для вашего соединения.

В прошлом я создавал приложения VBA в более старых версиях Access, которые используют SQL для записи в таблицы IBM i. Я полагаю, что все еще возможно. Но вы могли бы захотеть записать в какую-то промежуточную таблицу, а затем попросить процесс переместить данные в производственную таблицу.

Честно говоря, если вы знаете какие-либо другие языки ... Я бы вообще пересмотрел возможность использования Access .

сгенерированный (уникальный) последовательный

Если он действительно сгенерирован, он же столбец идентификатора SQL, то это не должно быть проблемой, когда вы делаете insert, не указывайте этот столбец, и БД сгенерирует следующее значение.

Однако более старые приложения на IBM i вряд ли действительно будут использовать столбец идентификаторов. Если вам повезет, порядковый номер будет сохранен в другой таблице, которую вы сможете прочитать и обновить.

Если последовательность хранится в области данных, вам, вероятно, понадобится (внешняя) SQL хранимая процедура, написанная для взаимодействия с ней.

...