作为构建过程的一部分,我们要针对一个新的数据库实例执行由DDL和DML语句组成的SQL脚本。
如果不分析和拆分脚本,ADO.NET连接/命令将无法处理此问题。
该sqlplus命令行实用程序只能执行交互脚本,以及不适合于批料的使用。
sqlplus
我想念什么?使用oracle时如何执行sql脚本?
为什么您认为SQL Plus实用工具不适合批处理使用? 使用它来运行这些类型的脚本是很常见的-_如果愿意,可以在调用 _脚本 时 将脚本传递给SQL Plus。
sqlplus scott/tiger@someDatabase @someScript.sql
这是部署构建的一种很常见的方法。
如果问题出在SQL * Plus处理错误的方式上,则只需添加以下行即可
WHENEVER SQLERROR EXIT SQL.SQLCODE
中止并抛出遇到的Oracle错误号。WHENEVER SQLERROR命令的文档还提供了许多其他选项。