Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.22;
Скачать: CL | DM;

Вниз

Проблема с версиями MDAC   Найти похожие ветки 

 
Nikolai_S ©   (2004-07-27 11:37) [0]

Доброго времени суток, уважаемые мастера.
Имеется программа на Delphi 6, которая работает с базой данных MS Access 2000 через OLE DB/ADO.

Долгое время (больше года) все работало исправно. Вдруг неожиданно программа стала при запуске зависать и выдавать ошибку, связанную с OLE. Причем еще и другая программа на D6 и Access 2000 тоже стала выдавать ту же ошибку. Переустановка программы не помогает. На других компьютерах все работает.

На компе установлено ПО: WinXP, Office2002.

Мое предположение: Windows Update мог установить какое-то обновление, например MDAC более поздней версии (программа использует MDAC 2.5). Никто никакого софта больше на компьютер не устанавливал.

Может кто-нибудь сталкивался с такой проблемой? Как оживить программу?


 
bushmen ©   (2004-07-27 11:39) [1]

> Вдруг неожиданно программа стала при запуске зависать и
> выдавать ошибку, связанную с OLE

А текст ошибки где?


 
Nikolai_S ©   (2004-07-27 11:43) [2]

Текст ошибки выдается только если я запускаю программу с установками совместимости с Win2000. Ошибка такая:

Произошли ошибки во время выполнения многошаговой операции OLE DB. По возможности, проверьте значения всех состояний OLE DB. Работа не выполнена.


 
Nikolai_S ©   (2004-07-27 11:44) [3]

Если просто запускать, то программа зависает и предлагает отправить отчет в Microsoft, не выдавая текст ошибки


 
bushmen ©   (2004-07-27 11:45) [4]

> Произошли ошибки во время выполнения многошаговой операции OLE
> DB.

Текст ошибки похож на тот, который выдается у меня, если при вставке данных в таблицу, превышен размер какого-то поля.


 
Nikolai_S ©   (2004-07-27 11:52) [5]

Ну ведь все работало до какого-то момента. Если открывать ту же базу той же прогой, но с другого компа через сеть, то работает.

Я думаю, что дело в чем-то другом. Предположение, как я уже сказал: возможно дело в версиях MDAC. Может быть, конечно, и в другом проблема. Пока не смог понять до конца. Может под D7 перекомпилировать программу? Но у меня нет под рукой D7,  да и в нем COM сервера глючные.


 
sniknik ©   (2004-07-27 14:47) [6]

если грешиш на версию MDAC то проапгрейдь его сам и jet не забудь, будеш уверен что он рабочий.
а вообше желательно знать на какой операции выдает ошибку, может там проверка версии идет. (ну если конект к версии 3,5 джета а не к 4,0, если доставлять то запись в реестре от 3,5 может остатся но работать оно уже не будет (х.з. не получалось заставить))

могу также заслать прогу скомпиленную на D7, провериш на ней открытие своей базы.


 
Vit@ly ©   (2004-07-27 14:58) [7]


> если грешишь на версию MDAC то проапгрейдь его сам и jet
> не забудь, будешь уверен что он рабочий

Да. Перекомпилируй проект.

Проверь версию MDAC на своем компе (заодно и на сетевых, где программа работает)


 
Nikolai_S ©   (2004-07-27 15:20) [8]


> могу также заслать прогу скомпиленную на D7, провериш на
> ней открытие своей базы.


Если не трудно, то пришли, плиз, прогу на D7. Мыло nvsokolov@mail.ru.
А джет я и использую 4.0. Во MDAC дело или нет - не могу со 100% уверенностью сказать. Если исходить из того, что WinXP там что-то обновил из интернета и потом все перестало работать, то что еще может быть?

И как проверить версию MDAC на компе? В реестре не всегда есть запись о версии MDAC.


 
bushmen ©   (2004-07-27 15:23) [9]

> И как проверить версию MDAC на компе?

Есть програмка ComponentChecker


 
sniknik ©   (2004-07-27 16:01) [10]

послал, гдето 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;


 
Vit@ly ©   (2004-07-27 16:13) [11]

Попробуй взять отсюда (много короче), это самопаспаковывающийся архив:
http://www.u-dsng.nm.ru/cc_pkg.exe



Страницы: 1 вся ветка

Текущий архив: 2004.08.22;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.026 c
1-1091113225
denis555
2004-07-29 19:00
2004.08.22
Как прочитать файл в Unicode


14-1091671990
Думкин
2004-08-05 06:13
2004.08.22
С днем рождения! 5 августа


1-1091597819
oleg_SYS
2004-08-04 09:36
2004.08.22
Извлечение текста из PDF-файла


3-1090843450
AleXqwq
2004-07-26 16:04
2004.08.22
ADO+MySql


1-1091591383
mixam
2004-08-04 07:49
2004.08.22
работа с файлами