powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / C;жатие БД Access
5 сообщений из 5, страница 1 из 1
C;жатие БД Access
    #32856233
Фотография Andrey13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пытаюсь сжать базу Access 2000
строка
DBEngine.CompactDatabase CompactingDBPathAndName, strTempFile
выдает ошибку: Run-time error 3343 "Unrecognized database format"
В чем может быть причина?
...
Рейтинг: 0 / 0
C;жатие БД Access
    #32856638
AndreierdnA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
нераспазнает формат
...
Рейтинг: 0 / 0
C;жатие БД Access
    #32856663
Фотография Magnus23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndreierdnAнераспазнает формат
Очень информативно. Предлагаю воздержатся от высказываний если не можешь помочь, когда сам будешь в такой ситуации - нифига не весело.

2 Andrey13
Проблема может иметь ряд причин.
В первую очередь следует удостоверится что передаваюмый путь действительно содержит путь к базе и корректно отформатирован.
Далее. Ошибка на девелоперской машине или у клиента? Попробуй установить последний MDAC.
...
Рейтинг: 0 / 0
C;жатие БД Access
    #32856666
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
+ к словам Магнуса23.

- Возможно, используется не тот провайдер данных. Для А2000, строка подключения должна содержать "Provider=Microsoft.Jet.OLEDB.4.0;".
- возможно, покоцан файл БД. Можно попробовать открыть его Акцессом, или прогнать его через JetComp (поиск по акцессному форуму). Кстати, JetComp-ом можно и сжимать.

А вот еще кое-что по сжатию: http://www.sql.ru/faq/faq_topic.aspx?fid=155

PS. Если б просто неправильный путь был, ошибка другая была бы. Возможно еще, что путь не к тому файлу, конечно.
...
Рейтинг: 0 / 0
C;жатие БД Access
    #32856832
Фотография Andrey13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо
Я пытаюсь использовать пример 6.2.1. Пример 1 по ссылке
http://www.sql.ru/faq/faq_topic.aspx?fid=155

If BackupBeforeCompactDB = True _
Then FileCopy CompactingDBPathAndName, _
Left(CompactingDBPathAndName, (Len(CompactingDBPathAndName) - 4)) & _
"_Backup" & Right(CompactingDBPathAndName, 4)

проходит, т.е. Backup копия файла создается, из чего делаю вывод что
путь к базам указан верно.

У меня установлен Офис XP, хотя база на 2000.
Пытаюсь сжать локально.
Установлен MDAC27SP1, система XPSP2 Pro.

Скорее всего я не до конца понял принцип работы примера.
Строки подключения там нет совсем,
сразу
DBEngine.CompactDatabase CompactingDBPathAndName, strTempFile,

LangCyrillicCompactingDBPathAndName полный путь к базе.= "F:\kv\kv.mdb"
strTempFile = "F:\kv\kv_temp.mdb"
что такое dbLangCyrillic я не знаю но оставил как было в примере.

Возникает вопрос почему резервный файл имеет имя kv_Backup.mdb а в strTempFile =kv_temp.mdb

помогите пожалуйста разобраться.
Возможно до выполнения функции gflngCompactDatabase надо указать строку подключения?, тогда где ссылка на этот коннект в самой функции?
До сжатия я закрываю все Connection.

Да еще к базе MDB подключены DBF файлы, но отключать пробовал ошибка та жэ.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / C;жатие БД Access
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]