java - 获取 FlywayException : SP2-0310: unable to open file - when sqlpus @ is used with file path

标签 java oracle sqlplus flyway

我正在使用启用了 oracleSqlplus 的 Flyway Pro。我创建了一个文件夹结构来根据对象组织脚本。尝试在 Flyway 版本脚本中使用 @(带路径),但不起作用。

文件夹结构,
顶层文件夹 -文件夹A -AScript.sql -文件夹B -BScript.sql -文件夹公用 -AScript.sql -V1__ASCRIPT.sql -V2__BSCRIPT.sql -V3__ASCRIPT.sql 内容:
V1__ASCRIPT.sql
@AScript.sql -> 正确执行topFolder/folderA/Ascript.sql
V2__BScript.sql
@BScript.sql -> 正确执行topFolder/folderB/Bscript.sql
V3__ASCRIPT.sql
@topFolder/folderCommon/AScript.sql -> 这引发了我下面的错误, org.flywaydb.core.api.FlywayException:SP2-0310:无法打开文件“topFolder/folderCommon/AScript.sql”

我尝试了几乎所有可能的组合,
使用绝对路径,
与“@../../topFolder/folderCommon/AScript.sql”
尝试设置 SQLPATH 变量
与@@
这不起作用。 只需在 @ 中单独给出文件名即可。但我想指定路径,这样文件名可以重复使用,也不容易出错。

我希望相对路径应该与 Flyway + oraclesqlplus 选项一起使用。

提前致谢。

最佳答案

看起来你从fly flyway.locations=filesystem:结束的点开始路径就是你的路径开始的地方。
示例:

flyway.locations=filesystem:/opt/app/sql

脚本所在位置/opt/app/sql/appadb/script.sql

里面的 masterscript 是 @@appadb/script.sql

关于java - 获取 FlywayException : SP2-0310: unable to open file - when sqlpus @ is used with file path,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56071362/

相关文章:

java - 我是否正确阅读了这个顶级命令?

使用 javassist 时 Java 代理抛出 ClassNotFoundException

java - 当我最小化框架时面板组件消失

oracle - PL/SQL 函数值的间隔精度

oracle - 当 END 后使用 SET SCAN ON 时会引发错误

java - 识别 Java 堆栈跟踪中最旧的线程

mysql - 为什么银行或金融公司在其 "Core"系统中更喜欢 Oracle 而不是其他 RDBMS?

sql - 将行值显示为列标题

sql - 通过另一个表中的值限制表中的行数

oracle - 如何在powershell变量中捕获PL SQL函数的输出?