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

Вниз

Сжать базу 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.008 c
14-100962
Dmitriy O.
2003-07-15 16:34
2003.07.31
Для чего нужны Proxies в ToolsAPI


1-100696
Endi
2003-07-16 08:11
2003.07.31
Пересылка сообщений


3-100578
Alex_x
2003-07-08 14:36
2003.07.31
MultiSelect в QuantumGrid4


1-100763
KILLER_ABV
2003-07-15 15:25
2003.07.31
TStringGrid печать


8-100834
diablo
2003-03-31 20:03
2003.07.31
Рисование в корале





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский