![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблема с версиями MDAC [D6, MS Access 2000]
Nikolai_S © (2004-07-27 11:37:00)Доброго времени суток, уважаемые мастера.
Имеется программа на Delphi 6, которая работает с базой данных MS Access 2000 через OLE DB/ADO.
Долгое время (больше года) все работало исправно. Вдруг неожиданно программа стала при запуске зависать и выдавать ошибку, связанную с OLE. Причем еще и другая программа на D6 и Access 2000 тоже стала выдавать ту же ошибку. Переустановка программы не помогает. На других компьютерах все работает.
На компе установлено ПО: WinXP, Office2002.
Мое предположение: Windows Update мог установить какое-то обновление, например MDAC более поздней версии (программа использует MDAC 2.5). Никто никакого софта больше на компьютер не устанавливал.
Может кто-нибудь сталкивался с такой проблемой? Как оживить программу?
Vit@ly (2004-07-27 16:13:00) [1]Попробуй взять отсюда (много короче), это самопаспаковывающийся архив:
http://www.u-dsng.nm.ru/cc_pkg.exe
sniknik (2004-07-27 16:01:00) [2]послал, гдето 500кб получилось в архиве.
выдает версию или ошибку, попутно проверяя присутствие jet 4.0
function ADO_and_Jet40:String;
var con:TADOConnection;
begin
try
con:=TADOConnection.Create(nil);
con.LoginPrompt:=False;
con.ConnectionString:= 'Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=Text;Data Source=.';
con.Open;
Result:=con.Version;
con.Free;
except
on E:Exception do Result:=E.Message;
end;
end;
bushmen (2004-07-27 15:23:00) [3]> И как проверить версию MDAC на компе?
Есть програмка ComponentChecker
Nikolai_S (2004-07-27 15:20:00) [4]
> могу также заслать прогу скомпиленную на D7, провериш на
> ней открытие своей базы.
Если не трудно, то пришли, плиз, прогу на D7. Мыло nvsokolov@mail.ru.
А джет я и использую 4.0. Во MDAC дело или нет - не могу со 100% уверенностью сказать. Если исходить из того, что WinXP там что-то обновил из интернета и потом все перестало работать, то что еще может быть?
И как проверить версию MDAC на компе? В реестре не всегда есть запись о версии MDAC.
Vit@ly (2004-07-27 14:58:00) [5]
> если грешишь на версию MDAC то проапгрейдь его сам и jet
> не забудь, будешь уверен что он рабочий
Да. Перекомпилируй проект.
Проверь версию MDAC на своем компе (заодно и на сетевых, где программа работает)
sniknik (2004-07-27 14:47:00) [6]если грешиш на версию MDAC то проапгрейдь его сам и jet не забудь, будеш уверен что он рабочий.
а вообше желательно знать на какой операции выдает ошибку, может там проверка версии идет. (ну если конект к версии 3,5 джета а не к 4,0, если доставлять то запись в реестре от 3,5 может остатся но работать оно уже не будет (х.з. не получалось заставить))
могу также заслать прогу скомпиленную на D7, провериш на ней открытие своей базы.
Nikolai_S (2004-07-27 11:52:00) [7]Ну ведь все работало до какого-то момента. Если открывать ту же базу той же прогой, но с другого компа через сеть, то работает.
Я думаю, что дело в чем-то другом. Предположение, как я уже сказал: возможно дело в версиях MDAC. Может быть, конечно, и в другом проблема. Пока не смог понять до конца. Может под D7 перекомпилировать программу? Но у меня нет под рукой D7, да и в нем COM сервера глючные.
bushmen (2004-07-27 11:45:00) [8]> Произошли ошибки во время выполнения многошаговой операции OLE
> DB.
Текст ошибки похож на тот, который выдается у меня, если при вставке данных в таблицу, превышен размер какого-то поля.
Nikolai_S (2004-07-27 11:44:00) [9]Если просто запускать, то программа зависает и предлагает отправить отчет в Microsoft, не выдавая текст ошибки
Nikolai_S (2004-07-27 11:43:00) [10]Текст ошибки выдается только если я запускаю программу с установками совместимости с Win2000. Ошибка такая:
Произошли ошибки во время выполнения многошаговой операции OLE DB. По возможности, проверьте значения всех состояний OLE DB. Работа не выполнена.
bushmen (2004-07-27 11:39:00) [11]> Вдруг неожиданно программа стала при запуске зависать и
> выдавать ошибку, связанную с OLE
А текст ошибки где?