Ошибка Recordset->save метода

  • Автор темы angryMF
  • Дата начала
Статус
Закрыто для дальнейших ответов.
A

angryMF

#1
Помогите разобраться с проблемой... Пишу на C++ прогу, которая просматривает содержимое почтового ящика - пользую ADO.
Все вроде работает: просматриваю атрибуты писем, до момента, когда надо скопировать письмо.
В упррощенной модели это выглядит так:

_ConnectionPtr conn(__uuidof(Connection));
_RecordsetPtr MyFolders(__uuidof(Recordset));


conn->Provider = "Exoledb.DataSource";

hRes = conn->Open(szConnString,"","",0);

_bstr_t strQ = "select * from scope ('shallow traversal of \"" + szConnString + "\"')";

hRes = MyFolders->Open(strQ,conn->ConnectionString,adOpenForwardOnly,adLockUnspecified,0);
.....................
MyFolders->Save("c:\\message.xml",adPersistXML);

...........................

Вобщем выскакивает ошибка:

Save failed because [DAV:supportedlock] has an unsupported data type...

Интуиция подсказывает, что косяк с провайдером, но я так и не смог ничего придумать!
Особенно огорчает то, что большинство примеров на VBasic

Кстати, где бы посмотреть полный список атрибутов IPM.Note класса (это которые обычные сообщения)?
В частности очень интересует работа с Attachmentами.
 
B
#2
А версия ADO какая?
Проверь Recordset не пустой ли.


PS: не все версии поддерживают сохранения в XML файлы.
 
Статус
Закрыто для дальнейших ответов.