powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Изменения в MDAC Windows 7 SP1
25 сообщений из 26, страница 1 из 2
Изменения в MDAC Windows 7 SP1
    #37106534
Здравствуйте.

Не так давно поставил себе SP1 к Windows 7 и заметил, что Microsoft внесла изменения в файл msado25.tlb.
Для своих проектов под Access 2003 я использую ссылку на Microsoft ActiveX Data Objects 2.5 Library.

Так вот, я скомпилировал проект в MDE. На другом компьютере появилась ошибка:
Код: plaintext
Class does not support Automation or does not support expected interface.

Код, в котором произошла ошибка:
Код: plaintext
    Dim Cn As ADODB.Connection: Set Cn = New ADODB.Connection

Сравнение файлов msado25.tlb на моем и другом компьютере без SP1 выявило довольно существенные различия.
Интерфейсы поменяли свои uuid. Названия остались старые, а GUID'ы новые. Старые интерфейсы тоже остались, но их переименовали в xxxx_Deprecated. Заметил также изменения в атрибутах параметров методов.

Компилятор VBA использует текущие GUID'ы интерфейса. На системе без SP1 этих GUID'ов попросту нет.

Вот фрагменты из старой и новой версий:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
[                                                        [
  odl,                                                     odl,
  uuid(00000550-0000-0010-8000-00AA006D2EA4),              uuid(00001550-0000-0010-8000-00AA006D2EA4),
  helpcontext(0x0012c901),                                 helpcontext(0x0012c901),
  dual,                                                    dual,
  oleautomation oleautomation
]                                                        ]
interface _Connection : Connection15 {                   interface _Connection : Connection15 {
    [id(0x00000015), helpcontext(0x0012c8b8)] [id(0x00000015), helpcontext(0x0012c8b8)]
    HRESULT Cancel();                                        HRESULT Cancel();
};                                                       };

[                                                        [
  uuid(00000514-0000-0010-8000-00AA006D2EA4),              uuid(00000514-0000-0010-8000-00AA006D2EA4),
  helpcontext(0x0012c901),                                 helpcontext(0x0012c901),
  licensed licensed
]                                                        ]
coclass Connection {                                     coclass Connection {
    [default] interface _Connection;                         [default] interface _Connection;
    [default, source] dispinterface ConnectionEvents;        [default, source] dispinterface ConnectionEvents;
};                                                       };

Пока вышел из положения так. Буду делать сборку на старой системе.

С уважением, Павел Фурсов.
...
Рейтинг: 0 / 0
Изменения в MDAC Windows 7 SP1
    #37108669
vladK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Павел спасибо за информацию !
Такие вопросы есть
1) SP1 это релиз кандидат который? RTM вроде не было ещё.
2) http://technet.microsoft.com/en-us/evalcenter/ff384134.aspx
]Тут пишут что SP 1 содержит только выпущенные ранее апдейты. Т.е. я хочу сказать что если автоматическое обновление включено, то этот эффект должен был появится раньше, после какого то текущего обновления.
3) У меня: SP1 не ставил, но регулярно автообновляюсь, на ADO 2.1 никаких проблем не заметил. Что кстати заставляет Вас использоать 2.5 ?
...
Рейтинг: 0 / 0
Изменения в MDAC Windows 7 SP1
    #37108942
vladK,

Windows 7 SP1 содержит обновление платформы, а не только патчи.

ADO 2.5 используется по-умолчанию в Access 2003/2007/2010 x86.
ADO 2.8 замечен в Access 2010 x64.

Информация о ссылках бралась из файлов MSACC.OLB.

Microsoft выпустила SP1 еще в январе
http://blogs.technet.com/b/vm/archive/2011/01/14/service-pack-1-windows-7-windows-server-2008-r2.aspx
Вот он ко мне тогда и попал.

С уважением,
Павел Фурсов
...
Рейтинг: 0 / 0
Изменения в MDAC Windows 7 SP1
    #37121684
Вчера, 16.02.2011, на MSDN появились образы Windows 7 SP1.

После установки на виртуальную машину образа Windows 7 Enterprise with SP1, я сравнил интересовавшие меня файлы.
Содержимое одинаковое, дата/время различались на 1 день. Видимо новая сборка более поздняя.

Так что проблема осталась.

С уважением,
Павел Фурсов.
...
Рейтинг: 0 / 0
Изменения в MDAC Windows 7 SP1
    #37131857
Привет всем!

Наконец-то появился SP1 к Windows 7. Microsoft предоставила доступ всем желающим.

Я решил проверить все версии ADO. И ужаснулся.

Изменились guid'ы интерфейсов у всех(!) версий.

Проверил так:
под Windows 7 SP1 сделал mdb файлы под каждую версию ADO.
в References выбрал нужную версию библиотеки ADO.
добавил макрос AutoExec, в котором вызывается функция:
Код: plaintext
Dim Cn As ADODB.Connection: Set Cn = New ADODB.Connection
собрал mde.
запустил на системе с Windows Server 2003.
в результате все файлы при запуске выдают сообщение об ошибке.

С уважением,
Павел Фурсов
...
Рейтинг: 0 / 0
Изменения в MDAC Windows 7 SP1
    #37136413
Здравствуйте.

Дополнительную информацию о данной проблеме можно почитать на форуме MSDN.
Breaking change in MDAC ADODB COM components in Windows 7 Service Pack 1 (repost with MSDN liveID)

с уважением,
Павел Фурсов
...
Рейтинг: 0 / 0
Изменения в MDAC Windows 7 SP1
    #37136783
Фотография Sator Arepo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Павел ФурсовЗдравствуйте.

Дополнительную информацию о данной проблеме можно почитать на форуме MSDN.
Breaking change in MDAC ADODB COM components in Windows 7 Service Pack 1 (repost with MSDN liveID)

с уважением,
Павел Фурсов
Мучос грасиес.
А вообще, зла не хватает, конечно....
...
Рейтинг: 0 / 0
Изменения в MDAC Windows 7 SP1
    #37136787
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Sator ArepoМучос грасиес.
Мучас грасиас.
...
Рейтинг: 0 / 0
Изменения в MDAC Windows 7 SP1
    #37136836
Фотография Sator Arepo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир СанычSator ArepoМучос грасиес.
Мучас грасиас.
Зануда :-)

Я, кстати, на это, похоже и напоролся, когда отредактировал сделанный на XP проект в семерке. Был ошибка 430 "Class does not support Automation or does not support expected interface".
10171398
Правда, подумал, что дело в версии Аксесса.
А вообще, проверю еще раз.
...
Рейтинг: 0 / 0
Изменения в MDAC Windows 7 SP1
    #37136847
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Sator ArepoЗануда :-)
Да!
...
Рейтинг: 0 / 0
Изменения в MDAC Windows 7 SP1
    #37136849
Sator ArepoЯ, кстати, на это, похоже и напоролся, когда отредактировал сделанный на XP проект в семерке. Был ошибка 430 "Class does not support Automation or does not support expected interface".
10171398
Правда, подумал, что дело в версии Аксесса.
А вообще, проверю еще раз.
В вашем случае думаю проблема была с Access 2010. А вылечилась перекомпилированием в Access 2003 после изменения кода. При этом не надо забывать, что DAO в Access 2003 это не тоже самое DAO в Access 2010. Там разные dll-ки используются.

А описанная здесь проблема касается только Windows 7 с установленным SP1.

С уважением,
Павел Фурсов
...
Рейтинг: 0 / 0
Изменения в MDAC Windows 7 SP1
    #37225962
Draginsv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Аналогичная проблема всплыла, когда поменяли мне компьютер. Был win XP SP3 х86, теперь win 7 максимальная х64.
Я также установил office 2003.
ADP файл работает везде без ошибок.
ADP -> ADE , далее рассылаю
в ссылках использую ado2.8

На XP SP2 A2003 - ошибка "Class does not support automation or does not support expected interface"
На XP SP3 A2003 - ошибка "Class does not support automation or does not support expected interface"
На XP SP3 A2007 - ошибка "Class does not support automation or does not support expected interface"
На win7 A2003 - ошибка "Class does not support automation or does not support expected interface"

У микрософта нарыл http://www.microsoft.com/technet/security/Bulletin/MS11-002.mspx
Установил (KB2419632) на XP SP3 проблема не решилась.
Я так понял версии msado**.dll зависят от версии windows, а не от офиса.

Так как всех подвести под один знаменатель?
...
Рейтинг: 0 / 0
Изменения в MDAC Windows 7 SP1
    #37227291
DraginsvАналогичная проблема всплыла, когда поменяли мне компьютер. Был win XP SP3 х86, теперь win 7 максимальная х64.
...

Так как всех подвести под один знаменатель?
Не использовать для сборки Windows 7 SP1!!!
Именно в нем были изменены все библиотеки ADO.
Создавать ADE следует на другом компьютере (Windows 7 RTM/Vista/XP).

Решения как такового нет. Проблема несовместимости до сих пор есть.
Я считаю, что Microsoft следует вернуть все как было до Windows 7 SP1.

С уважением,
Павел Фурсов
...
Рейтинг: 0 / 0
Изменения в MDAC Windows 7 SP1
    #37442378
Здравствуйте.

Сегодня установил Windows Developer Preview 64-bit сборка 8102 на виртуальную машину VMWare 8.
Проверил файлы ADO. С ними все в порядке. Проблем с совместимостью быть не должно.

С уважением,
Павел Фурсов

P.S. Прошло уже 7 месяцев с момента появления Windows 7 SP1, а проблемы с ADO в нем так и не устранили...
...
Рейтинг: 0 / 0
Изменения в MDAC Windows 7 SP1
    #37491722
Здравствуйте.
Читайте продолжение дискуссии в новом топике:
Windows 8 Developer Preview build contains the complete fix of the ADO typelib issue

С уважением,
Павел Фурсов
...
Рейтинг: 0 / 0
Изменения в MDAC Windows 7 SP1
    #37662911
Здравствуйте,

Наконец-то Microsoft выпустила исправление библиотек ADO для Windows 7 SP1 и Windows Server 2008 R2 SP1:

An ADO-based application that is compiled in Windows 7 SP1 or in Windows Server 2008 R2 SP1 does not run in earlier versions of Windows

Я установил себе это обновление (Windows 7 SP1 x64), перекомпилировал код и, о чудо, все заработало в Windows XP.

С уважением,
Павел Фурсов
...
Рейтинг: 0 / 0
Изменения в MDAC Windows 7 SP1
    #37674642
Здравствуйте,

Обнаружилась проблема в Access после установки патча KB2640696.

О ней вы можете почитать на форуме в сообщении Pak-Ming Cheung от 21.02.2012:
Windows 8 Developer Preview build contains the complete fix of the ADO typelib issue

Такое же поведение наблюдается и в Windows 8 Developer Preview.

Надеюсь, что в процесс компиляции VBA-кода в Access будут внесены существенные исправления, чтобы наконец избавить меня от зависания Access'а в момент компиляции проекта.

С уважением,
Павел Фурсов
...
Рейтинг: 0 / 0
Изменения в MDAC Windows 7 SP1
    #37809583
Moonwalker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Павел ФурсовНаконец-то Microsoft выпустила исправление библиотек ADO для Windows 7 SP1 и Windows Server 2008 R2 SP1:

An ADO-based application that is compiled in Windows 7 SP1 or in Windows Server 2008 R2 SP1 does not run in earlier versions of Windows
Спасибо!
Установил Windows6.1-KB2640696-v3-x64.msu
Перекомпилировал проект на VB6. Отдал на тестирование.
...
Рейтинг: 0 / 0
Изменения в MDAC Windows 7 SP1
    #37974951
Здравствуйте.

С небольшим опозданием сообщаю об очередном исправлении в ADO.
MS12-045: уязвимость в компонентах доступа к данным Microsoft (MDAC) делает возможным удаленный запуск программного кода 10.07.2012

Иправления затронули все ОС, совместимость есть.

С уважением,
Павел Фурсов
...
Рейтинг: 0 / 0
Изменения в MDAC Windows 7 SP1
    #37980664
Фотография Palarm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как думаете, народ, если делать так:
Код: vbnet
1.
2.
Dim rs As Object
Set rs = CreateObject("ADODB.Recordset")

При этом в референсах ничего не подключать - подхватит Аксес нужную библиотеку? Офисные ссылки на Word и Excel я так покоцал, подставляя код вместо имени свойства/метода объекта - прокатило. Сейчас думаю с ADO так же сделать, а то задолбали они со своими "релизами".
...
Рейтинг: 0 / 0
Изменения в MDAC Windows 7 SP1
    #37980793
?????
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А попробовать?
Новая база А2003, в референсах (по умолчанию?)- АДО 2.5
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Public Function GetADOVersion$()
    Dim con As Object
    Const ConStr$ = "Provider=SQLOLEDB;" & _
                    "Data Source=(local);" & _
                    "Database=NorthwindCS;" & _
                    "User ID=sa;" & _
                    "Password="
    Set con = CreateObject("ADODB.Connection")
    con.ConnectionString = ConStr
    con.CursorLocation = 2
    con.Open
    GetADOVersion = con.Version
    con.Close: Set con = Nothing
End Function


Код: vbnet
1.
2.
?GetADOVersion
2.8
...
Рейтинг: 0 / 0
Изменения в MDAC Windows 7 SP1
    #37980820
Фотография Palarm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Просто "пробовать" - лопатить много букаф. Вдруг сделаю - а потом на чем нить споткнусь. Но раз вроде катит - будем ехать.

А почему тогда этот вариант активно не юзают, предпочитая ставить паки?
...
Рейтинг: 0 / 0
Изменения в MDAC Windows 7 SP1
    #37980850
?????
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А почему тогда этот вариант активно не юзают, предпочитая ставить паки?
По-моему, это разные вещи. МДАК старших версий может больше.
Например, 2.1 - не поддерживает именованные инстансы МС СКЛ,
2.5 - объект комманд не поддерживает NamedParameters.
...
Рейтинг: 0 / 0
Изменения в MDAC Windows 7 SP1
    #37980971
foxпро
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
?????А попробовать?
...
Код: vbnet
1.
Set con = CreateObject("ADODB.Connection")


...

1. Новая база А2003, в референсах АДО вообще нет
con.Version = 6.1

2. Новая база А2003, в референсах АДО 2.1
con.Version = 6.1

Сдается, что цепляется последняя имеющаяся в системе библиотека ado: у Вас это, вероятно ado 2,8, а у меня - ado 6,1

а какая будет картина у заказчика х/з :)
...
Рейтинг: 0 / 0
Изменения в MDAC Windows 7 SP1
    #37981136
Фотография Palarm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
?????А почему тогда этот вариант активно не юзают, предпочитая ставить паки?
По-моему, это разные вещи. МДАК старших версий может больше.
Например, 2.1 - не поддерживает именованные инстансы МС СКЛ,
2.5 - объект комманд не поддерживает NamedParameters.это понятно. Вопрос не в том, чтобы сделать универсальный вариант от ADO 2.1 до ~, а хотябы избавиться от гемора, когда у тебя все работает, на других машинах с ТЕМИ ЖЕ тынцами ADO тоже все ОК, а у клиента иной раз даже не взлетает. Это все ужасно задолбало. Причина как теперь выясняется - проделки мелкомягких. Сначала они предложили msado60_Backcompat_i386.tlb как временное решение, потом выпустили паки. Завтра еще чего нить намутят - а нам качать, обновлять, но самая бяка - упрашивать клиента это сделать, который ясно дело может и послать наконец, ибо его это тоже может задолбать.

Язык чешется представить все это как вселенский заговор или попытки выдавить из одной версии на другую, но скорее всего это просто бестолковость. Не боги горшки обжигают, и мелкомягкие бывает тупят и халтурят. Ну, блин, такая селявуха. Думается, если удастся хотя бы снизить % "не работает" - и то ладно, хотя конечно так кодить не очень удобно.
...
Рейтинг: 0 / 0
25 сообщений из 26, страница 1 из 2
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Изменения в MDAC Windows 7 SP1
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]