Как вставить значения столбца CSV в блок и таблицу с помощью Oracle Forms?

#java #oracle #oracle11g #oracleforms #oracle-fusion-middleware

#java #Oracle #oracle11g #oracleforms #oracle-fusion-промежуточное программное обеспечение

Вопрос:

Я использую Oracle Database 11gR2 с Oracle Forms и Reports 11gR2.

Я создал кнопку «Обзор» с «ТЕКСТОВЫМ полем». При нажатии кнопки откройте диалоговое окно и выберите файл «csv», и в поле «TEXTFILED» появится путь к файлу «csv». Для этой цели я использовал «AWTFileDialog.jar «Файл.

Теперь я хочу, чтобы значения столбцов «CSV» отображались в блоке, а также сохранялись в таблице при нажатии кнопки «СОХРАНИТЬ».

Моя форма:

введите описание изображения здесь

Как достичь этой цели?

Спасибо

Ответ №1:

Я не знаю, как это сделать с помощью Forms. Я также не уверен, что сделал бы это с помощью Forms.

Но у меня есть два других варианта:

  • SQL * Загрузчик
  • внешняя таблица (которая в фоновом режиме также использует SQL * Loader)

Первый вариант, SQL *Loader, требует от вас создания управляющего файла (смотрите документацию, здесь: https://docs.oracle.com/cd/B28359_01/server.111/b28319/ldr_concepts.htm#g1013706 ). Поскольку он вызывается из командной строки (на клиентском компьютере), вы должны использовать HOST (если вы используете Forms 6i) или CLIENT_HOST (Webutil), если вы используете более высокие версии, для вызова пакетного скрипта, который содержит SQLLDR.EXE вызов.

Другой вариант, внешняя таблица, работает на сервере базы данных, поскольку у вас должен быть доступ к каталогу (объекту Oracle) (т. Е. предоставлены права на чтение / запись в нем). Поскольку внешняя таблица представляет входной файл (CSV) так же, как если бы это была «обычная» таблица Oracle, вы можете SELECT записать против нее и загрузить данные в целевую таблицу довольно легко.

Посмотрите, поможет ли какой-либо из этих вариантов, или дождитесь чужого мнения.