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

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

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

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

PS. Если б просто неправильный путь был, ошибка другая была бы. Возможно еще, что путь не к тому файлу, конечно.
...
Рейтинг: 0 / 0
09.01.2005, 16:03:03
    #32856832
Andrey13
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C;жатие БД Access
Спасибо
Я пытаюсь использовать пример 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
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / C;жатие БД Access / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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