SQLLDR Загрузка данных с помощью Java / Spring Проблема Загрузка менее 398 - PullRequest
0 голосов
/ 07 марта 2019

Я создал веб на Java, который выполняет bat, потому что мы выполняем массовую загрузку данных в Oracle.Я создал командный файл с командами SQLLDR для загрузки содержимого текстового файла (выгрузка в веб-интерфейс Java) в таблицу Oracle (также я запускаю SP).

Моя партия является шаблоном, Java для ввода данных:

CD E:\temp E: SQLLDR login/password@database control=%1 log=%2 DATA=%3
ERRORS=999999

Ниже приведен пример команды CTL (я создаю CTL с Java):

ОПЦИИ (SKIP = 1) Загрузить файл данных DATA 'B3475720190305181118.txt' TRUNCATE PRESERVEBLANKS INTO TABLE Поля DGOV_DATAENTRY_TMP заканчиваются на "|"TRAILING NULLCOLS (TIPDOC, CODDOC, FLG_DIRECCION, FLG_EMAIL, FLG_TELEFONO, USU_SOLICITUD, ID_SOLICITUD)


Я знаю, что мой CTL и пакетный файл в порядке без Java, потому что, когда я выполняю), он загружает ВСЕ данные.Но в моем вебе нет.

И у меня проблема.Когда данные меньше 398, регистр не загружается:

WEB OUTPUT DOESNT INSERT

Но если данные больше 399. Он загружается с кодом Java.Но я увидел, что загружается всего - 198 регистров.

WEB OUTPUT CONSOLE JAVA

Также это файл LOG (когда не вставляются данные):

LOG FILE, sorry in spanish

Java-код:

    public static int ejecutarBat(List<String> listComan) {

        int result=-1;

        logger.info("Iniciando ejecucion .BAT");
        ProcessBuilder processBuilder = new ProcessBuilder(listComan);                      
            try {

                Process process = processBuilder.start();

                StringBuilder output = new StringBuilder();

                BufferedReader reader = new BufferedReader(
                        new InputStreamReader(process.getInputStream()));

                String line;
                while ((line = reader.readLine()) != null) {
                    output.append(line + "\n");
                }

                int exitVal = process.waitFor();
                if (exitVal == 0) {
                    logger.info(output.toString());

                } else {
                    //abnormal...
                }
                logger.info("Respuesta: "+exitVal);
                result=exitVal;
            } catch (IOException e) {
                e.printStackTrace();
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            return result;
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...