-
Сложно описать проблему досконально, потому что у меня она не воспроизводится, а воспроизводится только у одного из клиентов. Какие-то выводы могу делать только по логу сформированному библиотекой 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 должны быть предустановлены. Мастера, кто что посоветует?
-
MDAC какой версии у юзера?
-
clickmaker а как узнать номер версии?
-
HKEY_LOCAL_MACHINE\Software\Microsoft\DataAccess
может, просто переустановить MDAC на той машине?
-
-
да
-
ок, спасибо попробуем.
-
> Суть в том, что при старте программа подключается к базе данных mdb через ADO вот таким способом: > ADOConnection1.ConnectionString := Format(ConnStr, [Provider,DataProvider, ProjectsFilePath, '']); а что получается в итоге? какие значения переменных? вариант - в пути к базе пробелы есть, а обрамления кавычками нет.
-
значения переменных не известно - у меня проблема не воспроизводится да и у 99% пользователей тоже. У проблемного юзера оказалась последняя версия MDAC 2.81 для его винды и переустановить винда не дает. будем писать тестовую программу чтобы посмотреть что там с переменными.
-
> значения переменных не известно как это не известны, подключение - "на деревню дедушке"? они либо в программе либо задаются в настройках... но всегда известны.
кстати, а у него там случаем не 2007 мсофис стоит? был один занятняй глюк с его участием. может связано. (там где то в нем/реестре задается/прописывается версия движка по умолчанию, и можно задать больше чем версия базы mdb...)
-
> sniknik © (16.02.11 22:06) [9]
Совсем не обязательно, чтобы у клиента был установлен какой-либо офис. Вполне достаточно доступа к самой базе MDB
-
не доходят сообщения пейджера? перечитайте!
для ошибки про которую речь обязательно, т.к. не будь офиса не было бы и настройки которую можно переключить неправильно для используемой базы... а в реестре мало кто настраивает напрямую (и если настроит не то то ССЗБ).
-
sniknik юзер говорит что у него 2007 офис. вы знаете как лечить?
-
как лечить 2007 офис? не, это не лечится, он сам по себе такой убогий... хотя говорят есть платная программа которая приводит его внешний вид к нормальному отображению...
а по программе, я же уже все сказал... нет? [9] есть настройка которая задает версию открываемого/ой движка/базы по дефаулту. пусть найдут и поставят там версию твоей, которую ты им скажешь... ведь ты знаешь какой версии базу создавал? или, чтобы твоей программе не требовался дефаулт пропиши версию в строке коннекта.
-
А как прописать версию в строке коннекта?
|