首页 > 解决方案 > 如何从 teamcity 代理上的 gradle 脚本运行 sql 文件(具有多个查询和评论)

问题描述

我想运行位于 /home/tools/sabaDB 的我的 linux teamcity 代理中的 oracle sql 文件 (createdb.sql)。我试过像 exec

            exec { commandLine "sqlplus", "/nolog", "@createdb.sql"
                            workingDir "home/tools/sabaDB"}

当我从 linux 代理运行它而不是通过 teamcity 运行它时它工作我触发了 gradle 构建脚本它显示为错误 = 2,没有这样的文件或目录

在此处输入图像描述

我已经检查了文件并且 oracle_home 设置正确(它从我的代理运行)所以基本问题是如何创建将运行整个 sql 文件的 gradle 任务?提前致谢

标签: sqllinuxoraclegradle

解决方案


我们必须指定将环境变量传递给 teamcity 环境的环境,例如

exec { env key="oracle_home" path="oracle/home/path" commandLine "sqlplus", "/nolog", "@createdb.sql" workingDir "home/tools/sabaDB"}

它奏效了


推荐阅读