ADO не может получить доступ к столбцу типа XML SQL Server с помощью собственного клиента (SQLNCLI)

я использую ADO, и один изродные" водители (например,SQLNCLISQLNCLI10SQLNCLI11) для подключения к SQL Server (а не устаревшиеSQLOLEDB Водитель).

ADO не понимаетXML Тип данных SQL Server, предоставляемый родными драйверами:

field: ADOField;

field := recordset.Fields.Items["SomeXmlColumn"];

Попытка доступаfield.Value бросает:EOleException

Источник: Microsoft Cursor EngineКод ошибки: 0x80040E21 (E_ITF_0E21)Сообщение: Многошаговая операция вызвала ошибки. Проверьте каждое значение статуса

родные клиентские драйверы (например,SQLNCLISQLNCLI10SQLNCLI11) представитьXml тип данных для ADO как

field.Type_ = 141 //???

в то время как наследиеSQLOLEDB водитель представляетXml тип данных для ADO какadLongVarWChar, строка в кодировке Юникод:

field.Type_ = 203 //adLongVarWChar

ИVARIANT содержалась вfield.Value этоWideString (технически известный как):BSTR

TVarData(field.Value).vtype = 8 //VT_BSTR

Сдается мне, что это ошибка в ADO (Windows 7 SP1), а не то, что я могу исправить.

Как я могу это исправить?

Бонус ЧтениеDelphi с SQL Server: драйверы OLEDB и Native Client

Ответы на вопрос(1)

Ваш ответ на вопрос