Текущий архив: 2003.07.31;
Скачать: CL | DM;
ВнизСжать базу MSAccess-97. Воспользовался рекомендацией sniknik (3 Найти похожие ветки
← →
Новак (2003-07-14 12:23) [0]var je: Variant;
begin
je:=CreateOleObject("JRO.JetEngine");
je.CompactDatabase("Provider=Microsoft.Jet.OLEDB.4.0;"+
"Data Source=D:\Base.mdb",
"Provider=Microsoft.Jet.OLEDB.4.0;"+
"Data Source=D:\Compressed.mdb;"+
"Jet OLEDB:Encrypt Database=True");
но к сожалению результат неудовлетворительный.
Compressed.mdb получается больше по объему чем Base.mdb и к тому же не открывается с помоью MSAccess
Unrecognized database format
Как мне выйти из этой ситуации. Спасибо
← →
sniknik (2003-07-14 12:35) [1]добавь версию, по вкусу (судя по тому что результирующая увеличивается, версия получается выше исходной, добавился юникод, естественно), открываеш естественно тоже старым аксессом (97?).
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.
← →
Новак (2003-07-14 12:54) [2]2 sniknik © (14.07.03 12:35)
Спасибо. Где можно ознакомиться с этой документацией. Линк, если не сильно затруднит
← →
sniknik (2003-07-14 13:20) [3]MSJRO.CHM на машине с офисом, 2000/XP точно, 97 не знаю. ну и чтоб ставлен был полностью с нерезаного пиратами диска(для уменьшения обьема).
← →
Новак (2003-07-14 14:54) [4]Меня вполне устраивает, что база не читается из под MSAccess-97 (собственно для того и писалась программа, чтобы ограничить в правах различных пользователей, то есть определить статус каждого пользователя).
MSAccess-2000 читает, выдает ошибки при преобразовании и открывает только для чтения (это тоже меня устраивает).
Программно (компиляция Delpi) все работает ОК. Просмотрел MSJRO.CHM, вот разобраться с тем, как все-таки сжать базу у меня так и не получилось. Имеется ли возможность не включать юникод?
И если можно, то как добавить версию, в частности, JET Version 3.x?
← →
sniknik (2003-07-14 15:38) [5]> Имеется ли возможность не включать юникод?
конечно, при создании таблици у строковых полей ставиш WITH COMPRESSION (есть случаи, описаны, когда это не срабатывает (для MEMO - TEXT))
> в частности, JET Version 3.x?
je.CompactDatabase("Provider=Microsoft.Jet.OLEDB.4.0;"+
"Data Source=D:\Base.mdb",
"Provider=Microsoft.Jet.OLEDB.4.0;"+
"Data Source=D:\Compressed.mdb;"+
"Jet OLEDB:Engine Type=4;"+
"Jet OLEDB:Encrypt Database=True");
будет для 97 (он с юникодом по любому не работает)
примеры в справке есть, собственно и изначальный (в вопросе) оттуда переведен мной с бейсика. (было бы чего переводить :о)), 3 строчки. на большее моих знаний бейсика не хватит).
← →
Новак (2003-07-14 17:09) [6]2 sniknik ©
Получил, то чего хотел. Сам почему-то до Type=4 не допер, хотя СНМ-ку смотрел. Спасибо, тему закрываем
← →
Новак (2003-07-15 14:22) [7]Сорри, поторопился закрыть тему.
Сжимать необходимо мной же запороленную (через MSAccess) базу.
Пароль естественно известен.
Добавил в CompactDatabase строку (так я понял из MSJRO)
"Jet OLEDB:Database Password=123;"
То есть
je.CompactDatabase("Provider=Microsoft.Jet.OLEDB.4.0;"+
"Data Source=D:\Base.mdb",
"Provider=Microsoft.Jet.OLEDB.4.0;"+
"Jet OLEDB:Database Password=123;"+
"Data Source=D:\Compressed.mdb;"+
"Jet OLEDB:Engine Type=4;"+
"Jet OLEDB:Encrypt Database=True");
однако это не решило проблемы - Not a valid password.
Где у меня возможна ошибка?
← →
sniknik (2003-07-15 14:47) [8]в невнимательности
je.CompactDatabase("Provider=Microsoft.Jet.OLEDB.4.0;"+
"Data Source=D:\Base.mdb;"+
"Jet OLEDB:Database Password=123",
"Provider=Microsoft.Jet.OLEDB.4.0;"+
"Data Source=D:\Compressed.mdb;"+
"Jet OLEDB:Engine Type=4;"+
"Jet OLEDB:Encrypt Database=True");
← →
Новак (2003-07-15 16:24) [9]Проверить не успел. Чуть позже проверю и проанализирую свою ошибку. Спасибо.
Страницы: 1 вся ветка
Текущий архив: 2003.07.31;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.01 c