【发布时间】:2022-04-23 05:34:50
【问题描述】:
我正在为 org.testcontainers:oracle-xe:1.14.3 苦苦挣扎。 我正在尝试运行旨在验证架构创建和迁移的测试,但是在尝试使用用户“sys as sysdba”初始化用户进行测试时,我遇到了 InitScript。
@Before
public void setUp() {
oracleContainer = new OracleContainer("oracleinanutshell/oracle-xe-11g")
.withUsername("sys as sysdba")
.withInitScript("oracle-initscript.sql");
oracleContainer.start();
}
上面好像可以连接,但是init脚本的执行失败了
ORA-01109: 数据库未打开
在上面使用“system”用户不会提供具有 sysdba 权限的 InitScript 连接,但会导致打开数据库。
我正在寻找一种允许我在测试前初始化多个用户的解决方案。此初始化具有需要 sysdba 权限的授权。执行一些 SQL 脚本的测试要求在数据库中创建两个用户并且可以连接到数据库。
【问题讨论】:
-
你找到替代品了吗?
-
不,但我确实做了一个解决方法。我制作了一个包含一些常规初始化的图像,并将初始化步骤作为我使用的一部分。
标签: docker oracle11g testcontainers