Тестовый контейнер Oracle выдает исключение SQLSyntaxErrorException: ORA-01918: пользователь не существуетJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Гость
 Тестовый контейнер Oracle выдает исключение SQLSyntaxErrorException: ORA-01918: пользователь не существует

Сообщение Гость »


Я новичок в Oracle Container, и у меня есть тестовый контейнер для открытия двух подключений к базе данных, поскольку в моем приложении весенней загрузки есть два источника данных.

Это абстрактный класс, в котором я создаю экземпляры контейнера Oracle:

@Slf4j общественный класс AbstractContanierBaseTest { статический окончательный OracleContainer ORACLE_OPIOWNER_CONTANINER; статический окончательный OracleContainer ORACLE_FIRMAOWNER_CONTANINER; статический { ORACLE_OPIOWNER_CONTANINER = новый OracleContainer("gvenzl/oracle-xe:21-slim"); ORACLE_OPIOWNER_CONTANINER .withUsername("опиовладелец") .withPassword("пароль") .withDatabaseName("OPIOWNER") .withExposePorts(1521) .withLogConsumer(новый Slf4jLogConsumer(журнал)) .withEnv("ORACLE_DATABASE", "OPIOWNER") .withEnv("ORACLE_PASSWORD", "пароль") .withEnv("APP_USER", "владелец") .withEnv("APP_USER_PASSWORD", "пароль") .usingSid(); ORACLE_OPIOWNER_CONTANINER.start(); System.setProperty("spring.datasource.driver-class-name", ORACLE_OPIOWNER_CONTANINER.getDriverClassName()); System.setProperty("spring.datasource.url", ORACLE_OPIOWNER_CONTANINER.getJdbcUrl()); System.setProperty("spring.datasource.username", ORACLE_OPIOWNER_CONTANINER.getUsername()); System.setProperty("spring.datasource.password", ORACLE_OPIOWNER_CONTANINER.getPassword()); ORACLE_FIRMAOWNER_CONTANINER = новый OracleContainer("gvenzl/oracle-xe:11-slim"); ORACLE_FIRMAOWNER_CONTANINER .withUsername("владелец фирмы") .withPassword("пароль") .withDatabaseName("ВЛАДЕЛЕЦ ФИРМЕНА") .withLogConsumer(новый Slf4jLogConsumer(журнал)) .withEnv("ORACLE_PASSWORD", "пароль") .withEnv("APP_USER", "владелец фирмы") .withEnv("APP_USER_PASSWORD", "пароль") .usingSid(); ; ORACLE_FIRMAOWNER_CONTANINER.start(); System.setProperty("spring. Second-datasource.url", ORACLE_FIRMAOWNER_CONTANINER.getJdbcUrl()); System.setProperty("spring. Second-datasource.username", ORACLE_FIRMAOWNER_CONTANINER.getUsername()); System.setProperty("spring. Second-datasource.password", ORACLE_FIRMAOWNER_CONTANINER.getPassword()); } Этот класс унаследован моими интеграционными тестами, написанными на junit5.

При выполнении юнитов перед тестами запускается Sql-скрипт посредством аннотации @Sql:

@Sql(config = @SqlConfig(transactionManager = "opiownerTransactionManager"), scripts = {"classpath:scripts/ddl/Recall_create_table_opiConfluenzaDati.sql", "classpath:scripts /dml/Recall_opiConfluenzaDati_script.sql"}) Сценарий выполняется правильно, но я получаю сообщение оракула SqlSyntaxException согласно заголовку вопроса.

Это мой скрипт создания таблицы:

СОЗДАТЬ ТАБЛИЦУ opiowner.OPI_CONFLUENZA_DATI ( "OPI_ANNO_EMISSIONE_TITOLO" НОМЕР(4,0), "OPI_TIPOLOGIADISPOSIZIONE" VARCHAR2(11), "OPI_DATADISPOSIZIONE" ДАТА, НОМЕР «OPI_ID_DISPOSIZIONE» (10,0) НЕ НУЛЬ, "OPI_NUM_TITOLO" НОМЕР(9,0), "OPI_PROG_QUOTA" НОМЕР(15,0), "OPI_TIPO_COD_BENEF" VARCHAR2(2), "OPI_CODICE_BENEF" VARCHAR2(16), "OPI_TIPO_RECORD" VARCHAR2(11), "OPI_SPECIE_TITOLO" VARCHAR2(2), "OPI_TIPO_SPESA" VARCHAR2(5), "OPI_COD_ENTE" VARCHAR2(15), НОМЕР "OPI_IMPORTO"(15,3), "OPI_NOME_FILE" VARCHAR2(100), "OPI_ORDINANTE" VARCHAR2(100) ); ИЗМЕНИТЬ ТАБЛИЦУ opiowner.OPI_CONFLUENZA_DATI ДОБАВИТЬ ОГРАНИЧЕНИЕ OPI_CONFLUENZA_DATI_PK ПЕРВИЧНЫЙ КЛЮЧ ("OPI_TIPOLOGIADISPOSIZIONE", "OPI_DATADISPOSIZIONE", "OPI_ID_DISPOSIZIONE"); Как вы можете догадаться, мне нужно, чтобы пользователь opiowner присутствовал в базе данных. В частности, в первом экземпляре контейнера Oracle: сначала ORACLE_OPIOWNER.

Вопрос: Как создать пользователя «opiowner» в экземпляре Oracle Container?

Я думал, что методы withUsername и withPassword помогут, но это не так...

Итак, как вы можете видеть с помощью метода withEnv, я пытался переопределить переменные среды образа Docker, но опять же безрезультатно...

Как решить эту проблему?
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Тестовый контейнер Oracle выдает исключение SQLSyntaxErrorException: ORA-01918: пользователь не существует
    Гость » » в форуме JAVA
    0 Ответы
    35 Просмотры
    Последнее сообщение Гость
  • Oracle.ManagedDataAccess бросает ORA-50000 и Oracle.ManagedDataAccess.core Ошибки ORA-12545
    Anonymous » » в форуме C#
    0 Ответы
    38 Просмотры
    Последнее сообщение Anonymous
  • Исключение Oracle UCP (ORA-12631) в Oracle 19c с аутентификацией Kerberos
    Anonymous » » в форуме JAVA
    0 Ответы
    45 Просмотры
    Последнее сообщение Anonymous
  • Исключение Oracle UCP (ORA-12631) в Oracle 19c с аутентификацией Kerberos
    Anonymous » » в форуме JAVA
    0 Ответы
    44 Просмотры
    Последнее сообщение Anonymous
  • Исключение Oracle UCP (ORA-12631) в Oracle 19c с аутентификацией Kerberos
    Anonymous » » в форуме JAVA
    0 Ответы
    30 Просмотры
    Последнее сообщение Anonymous

Вернуться в «JAVA»