Гость
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Сжатие базы данных Access 2007 / 3 сообщений из 3, страница 1 из 1
28.03.2012, 17:06
    #37727937
Андрей87
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сжатие базы данных Access 2007
Пожалуйста, подскажите, что не так?
Используя библиотеку JRO (Microsoft Jet and Replication Objects 2.6 Library), пытаюсь сжать базу данных Access 2007:
JRO.JetEngine jetEngine = new JRO.JetEngine();
jetEngine.CompactDatabase(string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Persist Security Info=False;", fileName), string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Persist Security Info=False;", tempFileName));
Выдаётся исключение: "Произошли ошибки во время выполнения многошаговой операции OLE DB. По возможности, проверьте значения всех состояний OLE DB. Работа не выполнена."
С базами данных Access 2003 всё нормально отрабаьывает, естественно, с соответствующей строкой подключения:
jetEngine.CompactDatabase("provider=Microsoft.Jet.OLEDB.4.0;data source=" + fileName, "provider=Microsoft.Jet.OLEDB.4.0;data source=" + tempFileName);
Для создания и открытия объекта OleDbConnection выше приведённая строка подключения string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Persist Security Info=False;", fileName) вполне подходит.
Может Microsoft Jet and Replication Objects 2.6 Library уже устарела и не может работать с Access 2007?
Или строка подключения для неё какая-нибудь другая должна быть?
...
Рейтинг: 0 / 0
16.04.2012, 13:20
    #37755369
Андрей87
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сжатие базы данных Access 2007
Вопрос решился :) Надо было в строку подключения добавить указание Engine Type. В общем, вот так:
jetEngine.CompactDatabase(string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Jet OLEDB:Engine Type=5", fileName), string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Jet OLEDB:Engine Type=5", tempFileName));
...
Рейтинг: 0 / 0
02.11.2012, 13:54
    #38023327
Schwan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сжатие базы данных Access 2007
Спасибо! Мне тоже помогло с DBF

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
INSERT INTO 

OPENDATASOURCE('Microsoft.ACE.OLEDB.12.0','Data Source=C:\TEMP\; Extended properties=DBASE IV;Jet OLEDB:Engine Type=5')...[PRICH]

(
	[Name],
	[MBK1],
	[MBK2],
	[Num],
	[ID],
	[MKB],
	[ID_SL1],
	[ID_SL2]
)

SELECT 

	[Name],
	[MBK1],
	[MBK2],
	[Num],
	[ID],
	[MKB],
	[ID_SL1],
	[ID_SL2]

FROM PRICH
...
Рейтинг: 0 / 0
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Сжатие базы данных Access 2007 / 3 сообщений из 3, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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