Так вот, это QA так глючит, или сиквел вообще кривит по-черному, когда из него напрямую XML-код тянешь? Там же еще какие-то средства есть, типа "SQL XML Support in IIS"...
В общем, я пока даже не знаю, в какую сторону копать

Save, говоришь? А как мне его потом расковыривать, если мне xml-файл нужен?
Проблема теперь другая - при получении ADO recordset на клиенте все символы "<>/" оказываются искореженными до неузнаваемости. В результате к чертям летит вся разметка - да вообще все, что в этой выборке было от XML...
Set oDom = New DOMDocument
r.Save oDom, adPersistXML
RepXML oDom
...
oDom.Save MyXMLFile
...
Private Function RepXML(oDom As DOMDocument)
Dim s As String, i As Long
s = oDom.xml
For i = 1 To Len(s)
Select Case Asc(Mid$(s, i, 1))
Case 0 To 8, 11, 12, 14 To 31
Mid(s, i, 1) = " "
End Select
Next i
oDom.loadXML s
End Function
Dim cnn As Connection
Dim com As Command
Dim str As Stream
Dim sQuery As String
Dim doc As IXMLDOMDocument2
Set cnn = New Connection
cnn.Open "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=MyDatabase"
Set com = New Command
com.ActiveConnection = cnn
sQuery = "<root><sql:query xmlns:sql='urn:schemas-microsoft-com:xml-sql'>select top 10 * from Files for xml auto</sql:query></root>"
Set str = New Stream
str.Open
str.WriteText sQuery, adWriteChar
str.Position = 0
Set com.CommandStream = str
com.Dialect = "{5D531CB2-E6Ed-11D2-B252-00C04F681B71}"
Set doc = New DOMDocument30
com.Properties("Output Stream") = doc
com.Execute , , adExecuteStream
str.Close
doc.Save "e:\test2k.xml"
Andrey Fedorov писал(а):ODBC не есть хорошо - лучше попробуй как Rainbow прописал...
alexeyvg на www.sql.ru писал(а):Просто при использовании OLEDB данные из select ... for xml передаются не в виде простых текстовых строк, а в виде специального формата, пригодного для всяких xml-ных расширений OLEDB. А в ODBC - обычный текст, пусть и юникодный.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3