Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用带有liquibase的tnsname.ora连接到oracle数据库_Oracle_Liquibase - Fatal编程技术网

使用带有liquibase的tnsname.ora连接到oracle数据库

使用带有liquibase的tnsname.ora连接到oracle数据库,oracle,liquibase,Oracle,Liquibase,我想使用liquibase自动化数据库部署。我们的设置是tnsnames.ora文件位于共享驱动器上\\shared\drive\path\tnsnames.ora 根据liquibase的文档,liquibase.properties文件应该如下所示 --driver=oracle.jdbc.OracleDriver --classpath=ojdbc14.jar --url="jdbc:oracle:thin:@<IP OR HOSTNAME>:<PORT>

我想使用liquibase自动化数据库部署。我们的设置是tnsnames.ora文件位于共享驱动器上
\\shared\drive\path\tnsnames.ora

根据liquibase的文档,liquibase.properties文件应该如下所示

--driver=oracle.jdbc.OracleDriver
--classpath=ojdbc14.jar
--url="jdbc:oracle:thin:@<IP OR HOSTNAME>:<PORT>/<SERVICE NAME OR SID>"  
--changeLogFile=db.changelog-1.0.xml
--username=<USERNAME>
--password=<PASSWORD>
--driver=oracle.jdbc.OracleDriver
--classpath=ojdbc14.jar
--url=“jdbc:oracle:thin:@:/”
--changeLogFile=db.changelog-1.0.xml
--用户名=
--密码=
是否有任何方法可以指定从网络共享上的tnsname.ora文件中获取匹配的
服务名称
,并连接到所需的数据库?

您尝试过使用吗?SQLcl版本20.4中嵌入了Liquibase版本4.1.1,因此您可以使用与SQLPlus相同的语法连接到数据库,然后从那里运行Liquibase命令

C:\Users\ej>sqlscott/tiger@tnsalias
SQLcl:2021年3月5日星期五11:07:13发布20.4
版权所有(c)1982年、2021年,甲骨文。版权所有。
上次成功登录时间:2021年3月5日星期五11:07:14-05:00
连接到:
Oracle数据库19c企业版19.0.0.0.0版-生产
版本19.6.0.0.0
SQL>lb版本
Liquibase版本:4.1.1
扩展版本:20.4.1.0
SQL>lb帮助
用法:lb命令。。。
命令:
以下命令在liquibase功能中可用。
用于命令特定帮助的lb help命令
命令
genobject为特定数据库对象生成更改日志
genschema为连接的架构生成变更日志和控制器
数据为表中的数据生成更改日志
gencontrolfile生成一个空白controller.xml作为示例
将数据库更新到当前版本
updatesql生成SQL以将数据库更新到当前版本
回滚回滚请求的状态
rollbacksql写入SQL以将数据库回滚到请求的状态
diff将两个数据库之间差异的描述写入标准输出。
dbdoc根据当前数据库和更改日志生成类似Javadoc的文档。
changelogsync将所有更改标记为在数据库中执行。
clearchecksums从数据库中删除当前校验和。在下一次更新时,已更新的变更集
已部署的将重新计算其校验和,未部署的变更集将重新计算
部署。
listlocks列出当前在数据库更改日志上拥有锁的用户。
releaselocks释放数据库更改日志上的所有锁。
状态输出unrun更改集的列表。
validate检查更改日志是否有错误。
版本显示产品版本信息

谢谢@ej egyed!它可能在本地起作用。但是,在执行CI CD时,可能无法在生成代理上安装
SQLcl