使用带有liquibase的tnsname.ora连接到oracle数据库
我想使用liquibase自动化数据库部署。我们的设置是tnsnames.ora文件位于共享驱动器上使用带有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>
\\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