У меня есть скрипт nant, который ...
1. берет содержимое диска-файла
2. назначает этот контент для свойства nant
3. и затем вызывает sqlcmd с передачей -v этого свойства, связанного с содержимым файла диска
4. внутри скрипта sql содержимое файла должно использоваться хранимым процессом.
Проблема в том, что когда содержимое файла содержит пробел, сборка Nant останавливается с проблемой «Недопустимый аргумент»
Кто-нибудь знает способ обойти это?
Верхняя часть скрипта nant ...
<?xml version="1.0"?>
<!-- the main name of this project -->
<project name="Hops" default="all">
<!-- BuildHistory -->
<property name="buildHistoryContents" value="" />
<xmlpeek xpath="/" file="BuildNotes.xml" property="buildHistoryContents"></xmlpeek>
<!-- <echo message="${buildHistoryContents}" /> -->
<!-- ***************** -->
<target name="ExecSql">
<echo message="running sql script : ${SqlBuildScriptsDir}${sqlBuildFileName}" />
<exec program="${SqlCmd}" commandline="-S ${SqlServerInstanceName} -E -d HBus -i ${SqlBuildScriptsDir}${sqlBuildFileName} -v vSchemaVersion=${buildHistoryContents} " />
</target>
Скрипт sql содержит строку ...
exec lsp_SchemaVersionUpsert '1.4', N'$(vSchemaVersion)'
Содержимое файла диска ...
<BuildNotes>
<Note>
<buildVer>HasNotSpace</buildVer>
</Note>
</BuildNotes>
Содержимое файла диска, которое не работает, является ...
<BuildNotes>
<Note>
<buildVer>Has Space</buildVer>
</Note>
</BuildNotes>
Использование всего этого - передача комментариев сборки xml в историю построения версий журналирования таблицы для схемы БД.
Кто-нибудь знает альтернативный метод или знает способ через это?
Следующая часть, добавленная после того, как Филипп Кили правильно решил первую часть ( ПРОБЕЛ * )
Я упростил исходное задание, чтобы упростить вопрос.
Существует также Проблема цитируемых атрибутов ; Атрибуты xml в кавычках приводят к сбою сборки nant с «Неверный аргумент».
например, это приведет к тому, что nant захлебнется, но удаление атрибута dt позволит успешной сборке nant ...
<BuildNotes>
<Note>
<buildVer>1.4</buildVer>
<dateStarted>09/24/2009 11:25:42</dateStarted>
<Item dt="20091008" >SpacesAndNoQuotedAttribute</Item>
</Note>
</BuildNotes>
Есть идеи ...?