Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Не удалось проинициализировать объект источника данных поставщика OLE DB  [new]
SiNtez_26
Member

Откуда:
Сообщений: 199
Добрый день. Использую связку MS SQL Server 2008 и MS Access 2010. Столкнулся с проблемой, то хранимые процедуры сервера, импортирующие данные из Access на сервер, через раз сталкиваются со следующей ошибкой:
MS SQL Server
Поставщик OLE DB "Microsoft.Jet.OLEDB.4.0" для связанного сервера "AccessConnect" вернул сообщение "База данных была приведена пользователем '***' на компьютере '***' в состояние, препятствующее ее открытию или блокировке.".
Не удалось проинициализировать объект источника данных поставщика OLE DB "Microsoft.Jet.OLEDB.4.0" для связанного сервера "AccessConnect".

Причем возникает абсолютно рандомно. База в Access всегда открыта, она и запускает эти процедуры.
Решения данной проблемы, ровно как и закономерности появления сей ошибки, выявить пока не смог. Надеюсь на вашу помощь)
26 июл 13, 15:47    [14622842]     Ответить | Цитировать Сообщить модератору
 Re: Не удалось проинициализировать объект источника данных поставщика OLE DB  [new]
ziktuw
Member

Откуда:
Сообщений: 3552
Замени все обращения к таблицам Access на использование OPENQUERY вместо имен с 4-я частями.
26 июл 13, 17:55    [14623960]     Ответить | Цитировать Сообщить модератору
 Re: Не удалось проинициализировать объект источника данных поставщика OLE DB  [new]
SiNtez_26
Member

Откуда:
Сообщений: 199
Что вы имеете ввиду под ""4-мя частями"? А то не совсем ясно. Сейчас и используется OPENQUERY с указанием связанного сервера и запрашиваемых полей
26 июл 13, 18:02    [14624017]     Ответить | Цитировать Сообщить модератору
 Re: Не удалось проинициализировать объект источника данных поставщика OLE DB  [new]
SiNtez_26
Member

Откуда:
Сообщений: 199
И в одном, и в другом случае сыпет ошибку эту же:

SELECT Поля FROM ИмяСвязанногоСервера...ИмяТаблицыВAccess


SELECT Поля FROM OPENQUERY(ИмяСвязанногоСервера, 'SELECT Поля FROM ИмяТаблицыВAccess');


Причем не всегда, что и вводит в ступор
26 июл 13, 18:05    [14624032]     Ответить | Цитировать Сообщить модератору
 Re: Не удалось проинициализировать объект источника данных поставщика OLE DB  [new]
Glory
Member

Откуда:
Сообщений: 104751
Это проблема с вашим Access, а не с MSSQL
Поиск в гугле основной причиной определяет монопольное открытие базы
http://support.microsoft.com/kb/274211/ru
26 июл 13, 22:02    [14625048]     Ответить | Цитировать Сообщить модератору
 Re: Не удалось проинициализировать объект источника данных поставщика OLE DB  [new]
SiNtez_26
Member

Откуда:
Сообщений: 199
Описано там все только для MS Access 2000. Я же использую вообще 2010. Как-то теряется актуальность
27 июл 13, 12:01    [14626224]     Ответить | Цитировать Сообщить модератору
 Re: Не удалось проинициализировать объект источника данных поставщика OLE DB  [new]
qwerty112
Guest
SiNtez_26
Описано там все только для MS Access 2000. Я же использую вообще 2010. Как-то теряется актуальность

вы когда про А2010 говорите, вы формат файла, имеете в виду, или только то, что установлен 2010 Акс ?

с форматом файла А2007/2010 нужно работать через другой провайдер - НЕ Microsoft.Jet.OLEDB.4.0, а Microsoft.ACE.OLEDB.12.0
точнее, он и "работать"-то не будет с Microsoft.Jet.OLEDB.4.0 !
какое у вас расширение файла Акс БД ?
27 июл 13, 12:26    [14626247]     Ответить | Цитировать Сообщить модератору
 Re: Не удалось проинициализировать объект источника данных поставщика OLE DB  [new]
SiNtez_26
Member

Откуда:
Сообщений: 199
К сожалению, опробовать accdb не могу, поскольку нет возможности конвертировать, акс не дает. Думаю, попробовать воспользоваться сторонними конвертерами, но как-то опасаюсь, поскольку там гора кода и результат месячной работы.
27 июл 13, 12:33    [14626256]     Ответить | Цитировать Сообщить модератору
 Re: Не удалось проинициализировать объект источника данных поставщика OLE DB  [new]
SiNtez_26
Member

Откуда:
Сообщений: 199
Кстати, может кто в курсе, почему не дает пересохранить в другом формате? А то уже давно мысли насчет accdb появились, да как-то не хотелось заморачиваться поначалу. Хотя, теперь, похоже, выхода и нету другого
27 июл 13, 12:35    [14626258]     Ответить | Цитировать Сообщить модератору
 Re: Не удалось проинициализировать объект источника данных поставщика OLE DB  [new]
qwerty112
Guest
SiNtez_26
К сожалению, опробовать accdb не могу, поскольку нет возможности конвертировать, акс не дает. Думаю, попробовать воспользоваться сторонними конвертерами, но как-то опасаюсь, поскольку там гора кода и результат месячной работы.

я вас "не призывал" конвертировать в accdb
есть мдб - и замечательно,
просто вот это вот
SiNtez_26
Описано там все только для MS Access 2000. Я же использую вообще 2010. Как-то теряется актуальность

в таком случае - "ни о чём"

серверу плевать на то, какой вы там Акс используете,
его интересует формат файла. А раз это мдб, то формат - или А2002/2003, или А2000

Следовательно, с "актуальность" - всё в порядке
27 июл 13, 12:39    [14626263]     Ответить | Цитировать Сообщить модератору
 Re: Не удалось проинициализировать объект источника данных поставщика OLE DB  [new]
qwerty112
Guest
SiNtez_26
К сожалению, опробовать accdb не могу, поскольку нет возможности конвертировать, акс не дает. Думаю, попробовать воспользоваться сторонними конвертерами, но как-то опасаюсь, поскольку там гора кода и результат месячной работы.

т.е. файл ещё и не разделённый ?

нужно разделить на файл-интерфейса и файл с таблицами,
в идеале - каждому Акс-юзеру дать персональный файл с интерфейсом,
и сервером коннектится, разумеется, к файлу с таблицами
27 июл 13, 12:51    [14626277]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить