Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

ADO и ошибка "Класс не зарегистрирован" [D6, MSSQL]


leonidus ©   (2011-02-16 11:26:00) 

Сложно описать проблему досконально, потому что у меня она не воспроизводится, а воспроизводится только у одного из клиентов. Какие-то выводы могу делать только по логу сформированному библиотекой 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 должны быть предустановлены. Мастера, кто что посоветует?


leonidus   (2011-02-28 21:27:00) [1]

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


sniknik   (2011-02-17 19:44:00) [2]

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

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


leonidus   (2011-02-17 18:11:00) [3]

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


sniknik   (2011-02-17 08:07:00) [4]

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

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


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

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

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


sniknik   (2011-02-16 22:06:00) [6]

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

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


leonidus   (2011-02-16 20:52:00) [7]

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


sniknik   (2011-02-16 14:05:00) [8]

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


leonidus   (2011-02-16 11:54:00) [9]

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


clickmaker   (2011-02-16 11:50:00) [10]

да


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

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


clickmaker   (2011-02-16 11:43:00) [12]

HKEY_LOCAL_MACHINE\Software\Microsoft\DataAccess

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


leonidus   (2011-02-16 11:36:00) [13]

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


clickmaker   (2011-02-16 11:27:00) [14]

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо