获取FlywayException:SP2-0310:无法打开文件-当sqlpus @与文件路径一起使用时

时间:2019-05-10 05:42:32

标签: java oracle sqlplus flyway

我正在使用启用了oracleSqlplus的flyway pro。我创建了一个文件夹结构来组织基于对象的脚本。尝试在flyway版本脚本中使用@(带有路径),该方法不起作用。

文件夹结构,
topFolder -folderA -AScript.sql -folderB -BScript.sql -folderCommon -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选项一起使用。

谢谢。

1 个答案:

答案 0 :(得分:0)

看起来您是从飞行flyway.locations=filesystem:结束的点开始的路径开始的。
示例:

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

您的脚本在哪里/opt/app/sql/appadb/script.sql

内部母本将是 @@appadb/script.sql