Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.08.05;
Скачать: [xml.tar.bz2];

Вниз

База Access. Что нужно для работы с ней ?   Найти похожие ветки 

 
UnDISCOvery   (2002-07-05 14:36) [0]

Такая ситуация: Пользователь установил Винду, установил мои прогу, в дистрибутиве проги зашита БД Access с данными в виде 4 таблиц. Что мне необходимо сделать чтобы мои прога корректно сомгла работать с БД. Общение с ней планируется вести через ADO, я так понимаю тогда BDE не нужно устанавливать, а что нужно ? нужно ли установить на комп Access ? ну и с благоарностью выслушаю любые ваши мысли ... :)


 
Дмитрий Калугин   (2002-07-05 17:07) [1]

Наши мысли: незнаю насчет АДО. А почему бы не классический БДЕ??
Может алиас к БД надо менять или динамически это делать.
Частая ошибка, кстати, когда прога в дистрибутиве настроена
на "старый" путь к БД: тот что у разработчика.
Акцесс конечно же не нужен.


 
Digitman   (2002-07-05 18:48) [2]

нужен дистрибутив библиотеки DAO (MS Data Access Object). Версия зависит от версии ADO. Думаю, что не меньше чем DAO v3.5.

Результатом корректной инсталляции DAO должен стать зарегистрированный в реестре InProc-сервер с именем фабрики DAO.DBEngine, каковой собственно и осуществляет доступ к MDB-базам (и не только к ним - через ISAM-драйверы DAO обращается к присоединенным таблицам, например, DBF-формата)


 
nick_sniper   (2002-07-06 16:14) [3]

Вот что сказано у мелкософта:

Create a directory with the name DAO under C:\Program Files\Common Files\Microsoft Shared and copy Dao360.dll to this directory. In addition, Dao360.dll must be registered as a COM DLL. This can be accomplished by using the Regsvr32.EXE utility.

Ставить лучше всего DAO 3.6 (от ACCESS 2000) - он имеет более продвинутые возможности и поменьше глюков, плюс инсталляция на порядок проще. Поэтому 3.5 даже описывать не буду.

1. Вместе со своей прогой нужно поставлять файл Dao360.dll (который лежит в C:\Program Files\Common Files\Microsoft Shared)
2. Копируешь свою прогу на винт юзера и в ту же папку копируешь Dao360.dll
3. Регистрируешь его выполняя команду типа такой:
%windir%\system\regsvr32 DAO360.DLL /S
4. Все - DAO готов к работе.

Учти один ньюанс - если у юзера стоит ACCESS 2000 то регистрировать свой файлик не надо! А то после удаления твоей проги у юзвера ацесс может перестать работать


 
UnDISCOvery   (2002-07-08 10:43) [4]

Большой сэнкс ! :)
Исходя из вышесказанного, делаю выводы...
1. Включаем в дистрибутив библитеку DAO360.dll
2. При инсталяции смотрим зарегестрирован ли он ? и если нет, то регестрим его.
3. Запускаем прогу и все ОК.

Вопрос: как определить зарегестрирован ли он ?


 
nick_sniper   (2002-07-15 00:23) [5]

Я использую следующий код (не могу гарантировать 100% правильность - но работает, кстати для NT-шных компов если пользователь не имеет прав админа - возможны глюки - там реестр нужно читать в режиме ReadOnly, но мне в падло исправить. Если исправишь - кинь, pls, код):

var
Reg: TRegistry;
isInst : boolean;
begin
IsInst := false;
Reg := TRegistry.Create;
try
Reg.RootKey := HKEY_CLASSES_ROOT;
if Reg.OpenKey("\CLSID\{00000100-0000-0010-8000-00AA006D2EA4}\InprocServer32", false) then
if FileExists(Reg.ReadString("")) then
IsInst := true;
finally
Reg.CloseKey;
Reg.Free;
end;
if not isInst then // Регистрация
FileExecuteWait(GetSystemDir+"\regsvr32","DAO360.DLL /S",AppPath,esNormal);


А, кстати, здесь используются некоторые функции из RxLib, так что, возможно, надо будет их вручную добавить в USES



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

Форум: "Базы";
Текущий архив: 2002.08.05;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.005 c
6-13743
chernoruk
2002-05-22 08:35
2002.08.05
Почему нет ошибки GetHostByName в OffLine?


1-13697
MsGuns
2002-07-23 23:23
2002.08.05
CreateProcess


1-13633
BlackGrin
2002-07-19 14:15
2002.08.05
Как поступить?


4-13862
NOVLAD
2002-05-27 17:35
2002.08.05
cryptoAPI для DELPHI


1-13678
hard
2002-07-22 23:32
2002.08.05
Как отслеживать минимизацию формы?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский