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

Вниз

ADO и ошибка "Класс не зарегистрирован"   Найти похожие ветки 

 
leonidus ©   (2011-02-16 11:26) [0]

Сложно описать проблему досконально, потому что у меня она не воспроизводится, а воспроизводится только у одного из клиентов. Какие-то выводы могу делать только по логу сформированному библиотекой JEDI.

Вот что видно из лога:

Exception EOleException: Класс не зарегистрирован
Exception occured at $004FE0B2 (Module "ADODB", Procedure "TADOConnection.DoConnect", Unit "", Line 0)
[004FE0AD] ADODB.TADOConnection.DoConnect
[00406FAD] System.@CheckAutoResult
[004EACA9] DB.TCustomConnection.SetConnected
[00462CDD] Forms.TCustomForm.DoCreate
[004629C9] Forms.TCustomForm.AfterConstruction
[00469FD9] Forms.TApplication.CreateForm

Суть в том, что при старте программа подключается к базе данных mdb через ADO вот таким способом:

ADOConnection1.Connected:=false;
if not ADOConnection1.Connected then
ADOConnection1.ConnectionString := Format(ConnStr, [Provider,DataProvider, ProjectsFilePath, ""]);
ADOConnection1.Connected:=true;

Вероятно при коннекте и возникает ошибка.

Подобная ошибка была у одного юзера на нетбуке с урезанной виндой, но у этого юзера судя по логу - Windows XP Professional Service Pack 3 (Build 2600) а в такой системе все средства ADO должны быть предустановлены. Мастера, кто что посоветует?


 
clickmaker ©   (2011-02-16 11:27) [1]

MDAC какой версии у юзера?


 
leonidus ©   (2011-02-16 11:36) [2]

clickmaker а как узнать номер версии?


 
clickmaker ©   (2011-02-16 11:43) [3]

HKEY_LOCAL_MACHINE\Software\Microsoft\DataAccess

может, просто переустановить MDAC на той машине?


 
leonidus ©   (2011-02-16 11:46) [4]

Вот этот:
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=6c050fe3-c795-4b7d-b037-185d0506396c&DisplayLang=en ?


 
clickmaker ©   (2011-02-16 11:50) [5]

да


 
leonidus ©   (2011-02-16 11:54) [6]

ок, спасибо попробуем.


 
sniknik ©   (2011-02-16 14:05) [7]

> Суть в том, что при старте программа подключается к базе данных mdb через ADO вот таким способом:
> ADOConnection1.ConnectionString := Format(ConnStr, [Provider,DataProvider, ProjectsFilePath, ""]);
а что получается в итоге? какие значения переменных?
вариант - в пути к базе пробелы есть, а обрамления кавычками нет.


 
leonidus ©   (2011-02-16 20:52) [8]

значения переменных не известно - у меня проблема не воспроизводится да и у 99% пользователей тоже. У проблемного юзера оказалась последняя версия MDAC 2.81 для его винды и переустановить винда не дает. будем писать тестовую программу чтобы посмотреть что там с переменными.


 
sniknik ©   (2011-02-16 22:06) [9]

> значения переменных не известно
как это не известны, подключение - "на деревню дедушке"?
они либо в программе либо задаются в настройках... но всегда известны.

кстати, а у него там случаем не 2007 мсофис стоит? был один занятняй глюк с его участием. может связано. (там где то в нем/реестре задается/прописывается версия движка по умолчанию, и можно задать больше чем версия базы mdb...)


 
Smile   (2011-02-17 07:57) [10]

> sniknik ©   (16.02.11 22:06) [9]

Совсем не обязательно, чтобы у клиента был установлен какой-либо офис. Вполне достаточно доступа к самой базе MDB


 
sniknik ©   (2011-02-17 08:07) [11]

не доходят сообщения пейджера? перечитайте!

для ошибки про которую речь обязательно, т.к. не будь офиса не было бы и настройки которую можно переключить неправильно для используемой базы... а в реестре мало кто настраивает напрямую (и если настроит не то то ССЗБ).


 
leonidus ©   (2011-02-17 18:11) [12]

sniknik юзер говорит что у него 2007 офис. вы знаете как лечить?


 
sniknik ©   (2011-02-17 19:44) [13]

как лечить 2007 офис? не, это не лечится, он сам по себе такой убогий... хотя говорят есть платная программа которая приводит его внешний вид к нормальному отображению...

а по программе, я же уже все сказал... нет? [9]
есть настройка которая задает версию открываемого/ой движка/базы по дефаулту. пусть найдут и поставят там версию твоей, которую ты им скажешь... ведь ты знаешь какой версии базу создавал?
или, чтобы твоей программе не требовался дефаулт пропиши версию в строке коннекта.


 
leonidus ©   (2011-02-28 21:27) [14]

А как прописать версию в строке коннекта?



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

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

Наверх




Память: 0.5 MB
Время: 0.008 c
2-1377192760
Сеньор
2013-08-22 21:32
2014.06.15
Image вбить свои координаты


4-1269116023
TComponent
2010-03-20 23:13
2014.06.15
Ввести текст (в TEdit) и нажать кнопку (TButton) в другой проге


15-1385757002
Юрий
2013-11-30 00:30
2014.06.15
С днем рождения ! 30 ноября 2013 суббота


15-1385714227
stas
2013-11-29 12:37
2014.06.15
проконсультируйте по Java


2-1374584710
Panamera
2013-07-23 17:05
2014.06.15
проверка изменения значения поля