Если наличие каталога уже существует, не проблема для Вас, Вы могли просто перенаправить stderr для той команды, избавления от сообщения об ошибке:
-mkdir $(OBJDIR) 2>/dev/null
Вам нужно передать xml в виде строки.
Но если вам не нужны xml-функции в базе данных, вы можете использовать varbinary для хранения файлов.
ОБНОВЛЕНИЕ !!!!!
Спасибо. Я заставил его работать. Добавлен следующий код:
StringWriter sw = new StringWriter();
XmlTextWriter xw = new XmlTextWriter(sw);
doc.WriteTo(xw);
StringReader transactionXml = new StringReader(sw.ToString());
XmlTextReader xmlReader = new XmlTextReader(transactionXml);
SqlXml sqlXml = new SqlXml(xmlReader);
Недостаточно преобразовать его в строку. Я получил следующую ошибку: Разбор XML: строка 1, символ 38, невозможно переключить кодировку ». Итак, я преобразовал в строку, затем накрыл ее на SqlXml, и это сработало.
Другой Более простой способ - записать xmldoc в строку и передать ее хранимой процедуре.
Dim sb As New StringBuilder()
Dim wrtr As New System.IO.StringWriter(sb)
doc.Save(wrtr)
Dim strxml As String = sb.ToString()
cmd.Parameters.Add("@FileContent", SqlDbType.Xml);
cmd.Parameters["@FileContent"].Value =strxml;
Другой способ сделать это, если вы не против потери объявления xml (версии и кодировки):
XML.DocumentElement.OuterXml 'where XML is a XMLDocument