Не удалось инициализировать объект источника данных поставщика OLE DB «Microsoft.ACE.OLEDB.12.0» для связанного сервера.
я пытаюсь установить связанный сервер изSQL Server 2008 R2
дляAccess database
,Access database
не защищен паролем. Как я видел в других постах (именно этот), это обычно происходит из-за того, что текущий пользователь не имеет доступа к папке Temp внутри папки NetworkService. Так как мы запускаем это вWindows Server 2008
, структура каталогов сильно отличается от того, к чему большинство не прибегает. Я разрешил доступ ко всем временным папкам в"root:\Documents and Settings\" directory
и безрезультатно.
Это процедура, которую я использую для добавления связанного сервера:
EXEC sp_addlinkedserver
@server = N'OS_Access',
@provider = N'Microsoft.ACE.OLEDB.12.0',
@srvproduct = N'',
@datasrc = N'C:\RTBData\Data\OS.mdb';
GO
Он создает связанный сервер без проблем, но я не могу просматривать таблицы / представления базы данных. Кроме того, мое приложение ASP.NET также не может получить к нему доступ.
Я пробовал обаACE and JET(64-bit)
(путем установки компонентов подключения к данным для Office), и они оба не работают. Я также попытался настроить поставщика ACE с"Dynamic Parameter"
а также"Allow InProcess"
к истине.
Кроме того, я попытался увеличить использование памятиMSSQLSERVER services
добавляя ""-g512;
перед"startup parameters"
строка в диспетчере конфигурации SQL, чтобы исключить проблемы с памятью.
Если бы кто-то мог пролить свет на это, это было бы фантастически! Спасибо!
ОБНОВИТЬ: Я вошел в SQL, используя учетную запись sa, и я смог просмотреть связанный сервер. Моя текущая учетная запись пользователя имеет полные разрешения на SQL-сервере, поэтому я не уверен, какая разница между учетными записями. Может быть, я дал разрешения на неправильныеTemp
папка, к которой у учетной записи sa (встроенной) есть доступ. Если бы кто-то мог указать мне правильное направление здесь, это было бы здорово, и я думаю, что это также помогло бы многим другим людям.