我们有一个用于包装自动化的NANT脚本。我们还使用SQLCompare命令行工具比较了以前的DB和当前的DB (如果有任何结构和数据变化)。
即使我比较同一个数据库,我也无法得到退出代码"63“,这意味着”两个数据库是相同的“。我总是得到退出代码"0“。如何控制DBs是否相同?
SQLCompare :的NANT脚本
*<property name="remcom.machine" value="server"/>
<property name="remcom.user" value="${server.user.administrator}"/>
<property name="remcom.pwd" value="${server.password.administrator}"/>
<property name="remcom.workdir" value="${sqlcompare.dir}"/>
<property name="remcom.command"
value=""${sqlcompare.file} /s1:${compare.db.instance} /u1:${compare.db.user} /p1:${compare.db.pwd} /db1:${db.current} /s2:${compare.db.instance} /u2:${compare.db.user} /p2:${compare.db.pwd} /db2:${db.previous} /f /q /sf:e:\redgateReports\${script.file} /r:e:\redgateReports\${report.file} /rt:Interactive /options:IgnoreWhiteSpace,IgnoreFillFactor,IgnoreFileGroups,IgnoreUserProperties,IgnoreWithElementOrder,ForceColumnOrder,IgnorePermissions,NoSQLPlumbing""/>
<call target="RemoteCommand"/>
<property name="sqlcompare.exitCode" value="${remcom.result}"/>*--这是我控制退出代码的代码:
<property name="compare.failed" value="${sqlcompare.exitCode != '63'}"/>
<if test="${property::exists('failIfDifferent') and failIfDifferent == 'true'}">
<fail if="${compare.failed}" message="Exit code is NOT 63. DB stuctures [ ${db.current} and ${db.previous} ] are NOT identical. see report files in server: ${report.file} " />
</if>发布于 2011-10-14 10:20:46
谢谢你的回应。我在我的本地机器上测试了sql对比度命令。它没有给我"63“密码。然后,我用sql比较法创建了一个比较项目,并在命令行选项列表中使用了相同的选项,然后它运行良好,现在我将在我们的NANT脚本和服务器中测试它。
诚挚的问候。
阿里·布卢特
https://stackoverflow.com/questions/7756210
复制相似问题