Форум: "Базы";
Текущий архив: 2004.08.22;
Скачать: [xml.tar.bz2];
ВнизХочу создать программно БД на Access 97. Помогите... Найти похожие ветки
← →
46_55_41_44 © (2004-07-30 14:57) [0]Procedure TForm1.CreateDBEngine;
Begin
CoreDBEngine := CreateOleDBEngine(Class_PrivDBEngine);
//Когда доходит до этого места выводит сообщение
//EOleSysError - Class Not registered for use
CoreWorkspace := CoreDBEngine.CreateWorkspace("(In Access""97 mode)","Admin","",dbUseJet);
CoreDBEngine.Workspaces.Append(CoreWorkspace);
End;
В чем дело как вы думаете... Спасибо заранее
← →
sniknik © (2004-07-30 15:09) [1]> В чем дело как вы думаете
1 Class_PrivDBEngine <> "DAO.DBEngine"
2 DAO нет на машине как такового
← →
dtm (2004-07-30 15:18) [2]Собственно, пояснение к [1] ;) У вас на машине собственно Access стоит?
← →
46_55_41_44 © (2004-07-30 15:24) [3]
> 1 Class_PrivDBEngine <> "DAO.DBEngine"
> 2 DAO нет на машине как такового
DAO есть... не первый в этом деле я!!!
> Собственно, пояснение к [1] ;) У вас на машине собственно
> Access стоит?
А это собственно и не важно, хотя Access есть!
Но еще раз подчеркиваю - это не важно! Я же не Access использую, а OLE DB!
← →
sniknik © (2004-07-30 21:40) [4]access это проверка, для уверенности что все стоит.
> CreateOleDBEngine
это что кстати? твоя процедура?
и еще кстати
http://www.delphimaster.ru/cgi-bin/faq.pl?look=1&id=988623008&n=14
;о))
(минута поиска)
← →
46_55_41_44 © (2004-07-31 11:01) [5]
> и еще кстати
> http://www.delphimaster.ru/cgi-bin/faq.pl?look=1&id=988623008&n=14
> ;о))
> (минута поиска)
не работает!!!!
← →
sniknik © (2004-07-31 13:22) [6]> не работает!!!!
см. пост [1] 2 пункт.
есть другой способ, вместо DAO (устарел, возможно его совсем не ставят, хотя странно это драйвера его видел в поставке jet-а, поддержка сверху вниз идет)
второй способ, ADOX
function TDMod.CreateMDBBase(const BaseName: string): boolean;
var AdoEngine: Variant;
begin
result:= false;
if Length(BaseName)=0 then begin
DoIfError("Íå îïðåäåëåíî èìÿ áàçû");
exit;
end;
try
try
AdoEngine:= CreateOleObject("ADOX.Catalog");
AdoEngine.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+GetMdbName(BaseName)+";Jet OLEDB:Engine Type=4;"); {4 это как раз 97й}
AdoEngine.ActiveConnection.Close;
result:= true;
except
on E: Exception do DoIfError(E.Message);
end;
finally
AdoEngine:= Null;
end;
end;
и не говори "не работает" это бред, говори что за ошибку дает и т.д.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.08.22;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.033 c