Конференция "Базы" » ADO и ошибка "Класс не зарегистрирован" [D6, MSSQL]
 
  • leonidus © (16.02.11 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 © (16.02.11 11:27) [1]
    MDAC какой версии у юзера?
  • leonidus © (16.02.11 11:36) [2]
    clickmaker а как узнать номер версии?
  • clickmaker © (16.02.11 11:43) [3]
    HKEY_LOCAL_MACHINE\Software\Microsoft\DataAccess

    может, просто переустановить MDAC на той машине?
  • leonidus © (16.02.11 11:46) [4]
  • clickmaker © (16.02.11 11:50) [5]
    да
  • leonidus © (16.02.11 11:54) [6]
    ок, спасибо попробуем.
  • sniknik © (16.02.11 14:05) [7]
    > Суть в том, что при старте программа подключается к базе данных mdb через ADO вот таким способом:
    > ADOConnection1.ConnectionString := Format(ConnStr, [Provider,DataProvider, ProjectsFilePath, '']);
    а что получается в итоге? какие значения переменных?
    вариант - в пути к базе пробелы есть, а обрамления кавычками нет.
  • leonidus © (16.02.11 20:52) [8]
    значения переменных не известно - у меня проблема не воспроизводится да и у 99% пользователей тоже. У проблемного юзера оказалась последняя версия MDAC 2.81 для его винды и переустановить винда не дает. будем писать тестовую программу чтобы посмотреть что там с переменными.
  • sniknik © (16.02.11 22:06) [9]
    > значения переменных не известно
    как это не известны, подключение - "на деревню дедушке"?
    они либо в программе либо задаются в настройках... но всегда известны.

    кстати, а у него там случаем не 2007 мсофис стоит? был один занятняй глюк с его участием. может связано. (там где то в нем/реестре задается/прописывается версия движка по умолчанию, и можно задать больше чем версия базы mdb...)
  • Smile (17.02.11 07:57) [10]
    > sniknik ©   (16.02.11 22:06) [9]

    Совсем не обязательно, чтобы у клиента был установлен какой-либо офис. Вполне достаточно доступа к самой базе MDB
  • sniknik © (17.02.11 08:07) [11]
    не доходят сообщения пейджера? перечитайте!

    для ошибки про которую речь обязательно, т.к. не будь офиса не было бы и настройки которую можно переключить неправильно для используемой базы... а в реестре мало кто настраивает напрямую (и если настроит не то то ССЗБ).
  • leonidus © (17.02.11 18:11) [12]
    sniknik юзер говорит что у него 2007 офис. вы знаете как лечить?
  • sniknik © (17.02.11 19:44) [13]
    как лечить 2007 офис? не, это не лечится, он сам по себе такой убогий... хотя говорят есть платная программа которая приводит его внешний вид к нормальному отображению...

    а по программе, я же уже все сказал... нет? [9]
    есть настройка которая задает версию открываемого/ой движка/базы по дефаулту. пусть найдут и поставят там версию твоей, которую ты им скажешь... ведь ты знаешь какой версии базу создавал?
    или, чтобы твоей программе не требовался дефаулт пропиши версию в строке коннекта.
  • leonidus © (28.02.11 21:27) [14]
    А как прописать версию в строке коннекта?
 
Конференция "Базы" » ADO и ошибка "Класс не зарегистрирован" [D6, MSSQL]
Есть новые Нет новых   [134431   +15][b:0][p:0]