Redgate SQLCOmpare 6 Командная строка => Код возврата равен «0», даже если БД идентичны - PullRequest
0 голосов
/ 13 октября 2011

У нас есть сценарии NANT, которые используются для автоматизации упаковки. Мы также сравниваем предыдущую БД и текущую БД в случае изменения структуры и данных с помощью инструмента командной строки SQLCompare.

Даже если я сравниваю одну и ту же базу данных, я не могу получить код выхода «63», что означает «две базы данных идентичны». Я всегда получаю код выхода "0". Как я могу контролировать, идентичны ли БД или нет?

NANT Сценарии для SQLCСравнить:

*<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="&quot;${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&quot;"/>
    <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>

1 Ответ

0 голосов
/ 14 октября 2011

Спасибо за ответ. Я проверил мою команду sqlcompare на моей локальной машине. Это не дало мне код "63". Затем я создаю проект сравнения с sqlcompare и использовал те же параметры в моем списке параметров командной строки Тогда он работал нормально, и теперь я протестирую его в наших NANT-скриптах и ​​на сервере.

С наилучшими пожеланиями.

Али Булут

...