Форум: "Базы";
Текущий архив: 2003.01.30;
Скачать: [xml.tar.bz2];
ВнизПочему после сжатия базы я не могу его открыть? Найти похожие ветки
← →
AM (2003-01-14 14:33) [0]Доброго всем дня! После того как я сжимаю базу получаю новый файл mdb его не получается открыть даже Access-ом - говорит неверный формат (?)
Причем при работе ошибок не происходит типа все нормально...
Вот код:
Var
JetEngine: OleVariant;
...
JetEngine:= CreateOleObject("JRO.JetEngine");
JetEngine.CompactDatabase(
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+путькстаройбазе+";",
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+ путькновойбазе +";");
...
JetEngine:=Unassigned;
Кто-нибудь может подсказать, что делать? Версия Access - 97
← →
Kuusiniemi (2003-01-14 14:41) [1]Microsoft.Jet.OLEDB.4.0 - ну и получаете после сжатия файл формата Access 2000. исполльзуйте 3.51 вместо 4.0.
← →
AM (2003-01-14 15:11) [2]Еогда я ставлю версию 3.51 - он выдает ошибку класс не зарегистрирован.
Кстати я смотрю в список провайдеров у меня в списке нет версии 3.51, там только 4.0
Что делать тогда?
>> Kuusiniemi © (14.01.03 14:41)
А откуда у меня версия 4.0 если у меня стоит только Office97 а 2000-го и в помине не быбло на компе.
← →
sniknik (2003-01-14 15:13) [3]вставь еще параметр, регулирует версию
Jet OLEDB:Engine Type
Indicates the version of the source database to open or the version of the new database to be created. The OLE DB engine types that you can use are:
1 - for JET Version 1.0
2 - for JET Version 1.1
3 - for JET Version 2.x
4 - for JET Version 3.x
5 - for JET Version 4.x
If this is omitted for the destination database, it will default to 5. The value for the destination database cannot be a version prior to that of the source database.
можеш поменять destanstion на меньшую версию, поэксперементируй.
а вообще бросай BDE переходи на ADO избавишся от этой и массы др. проблем.
← →
AM (2003-01-14 15:22) [4]>> sniknik © (14.01.03 15:13)
А я ADO и пользуюсь.
А какого провайдера тогда лучше выбирать например в ConnestionString у AdoConnection кого лучше выбрать?
И, кстати, если есть подход другой для сжатия может подскажите?
← →
sniknik (2003-01-14 15:37) [5]странно тогда почему проблема, до 97 это у BDE ограничение или через ODBC, а с ADO не должно.
кого выбрать, а вот его и выбирай
Microsoft.Jet.OLEDB.4.0
чаще всего с ним работаю, но можно и ODBC
DRIVER={Driver do Microsoft Access (*.mdb)}
выбрать или др. что есть.
другой подход сжатия есть, DAO но там можеш на теже грабли наступить
кинуть пример на бейсике? или сам найдеш на дельфи? метод DBEngine.CompactDatabase
этот очень просто поправить, добавь к строкам обоим, и попробуй
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+путькстаройбазе+";"+"Jet OLEDB:Engine Type=3"
← →
AM (2003-01-14 16:17) [6]>> sniknik © (14.01.03 15:37)
Вобщем сколько я не пробовал - у меня не получилось с Microsoft.Jet.OLEDB... менял, добавлял "Jet OLEDB:Engine Type=3", менял цифру 3 на 3.5 на 2 другие и т. п. То говорит что в более старую версию нельзя - данные потеряются, то что что-то там не совпадает и т. д.
По этому я решил через DAO:
var
V: variant;
begin
V := CreateOleObject("DAO.DBEngine");
V.CompactDatabase("c:\zz.mdb", "c:\zz1.mdb");
end;
и все нормально прокатило. И Access открывает.
Но тут встает вопрос: Если я использовал DAO - это означает, что надо ставить BDE на клиентском копьютере?
← →
sniknik (2003-01-14 16:28) [7]:о)))) единственный вариант не попробовал, а он и был правильный! значение 4 - формат Access 97. 3.5 неправильный параметр. а старую естественно нельзя. из предыдущего
The value for the destination database cannot be a version prior to that of the source database.
> Если я использовал DAO - это означает, что надо ставить BDE?
нет DAO самостоятельная величина (более менее) и больше относится к ADO чем к BDE. (хелпы рядом идут, и устанавливается вместе с Jet)
← →
AM (2003-01-14 16:35) [8]>> sniknik © (14.01.03 16:28)
что-то я стормозил, на самом деле при 4 все нормально заработало!!!
Спасибо тебе, sniknik ©.
Я думаю 1-ый через - ADO все-таки лучше.
Теперь у меня есть целых два варианта :))
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.01.30;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.01 c