Невозможно использовать поставщик OLE DB "Microsoft.Jet.OLEDB.4.0" для распределенных запр

ДАВИД
Дата: 30.01.2013 20:42:42
Всем привет.
Ситуация следующая:

Есть ХП типа-
dbo.Dob_Cards AS Update CardsP Set Фамилия = Cards1.Фамилия 
FROM CardsP RIGHT OUTER JOIN OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'C:\SaleBoss\tr\tr.mdb'; 'admin';'',Exp_CardsP) as cards1 ON 
CardsP.Код = Cards1.Код WHERE (Not (Cards1.Фамилия Is Null)) and ((CardsP.Фамилия Is Null))  


Так вот в WindowsXP, MSSQL2000,Access2002 - все работает отлично.

Теперь перевожy на Windows7 64б, MSSQL 2008R2 64б, & Access2002- и не дает ни сохранить , ни выполнить.
Выдает ошибку -
автор
Невозможно использовать поставщик OLE DB "Microsoft.Jet.OLEDB.4.0" для распределенных запросов,
поскольку поставщик настроен на работу в потоке контейнера с одним потоком.


Координатор распределенных транзакций запущен.

Подскажите, если кто сталкивался и знает - это как-то лечится или "в морг"?
Спасибо..
shalomb
Дата: 31.01.2013 00:13:47
Все довольно просто ,Jet 4.0 не понимает формат Access 2002 или конвертируй Access 2002 в Access 2007-10 или попробуй скачать и установить для SQL2005 BCP тогда люжи поедут .
qwerty112
Дата: 31.01.2013 04:39:29
shalomb
Все довольно просто ,Jet 4.0 не понимает формат Access 2002 или конвертируй Access 2002 в Access 2007-10 или попробуй скачать и установить для SQL2005 BCP тогда люжи поедут .

это кто жж, вас так обманул-то ?
Гость333
Дата: 31.01.2013 09:23:48
ДАВИД
Подскажите, если кто сталкивался

Я, к счастью, не сталкивался, но по радио ОБС что-то слышал про такое.

64-битному SQL Server нужные 64-битные поставщики OLE DB.
Microsoft.Jet.OLEDB.4.0 — это 32-битный поставщик.
Следовательно, вам нужен 64-битный поставщик, которым теперь является Microsoft.ACE.OLEDB.12 или Microsoft.ACE.OLEDB.14.
Печаль в том, что указанных поставщиков невозможно установить, если на машине установлен 32-битный Microsoft Office. Как я понимаю, Access 2002 как раз относится к 32-битному Офису. Если это так, то есть варианты:
1) сделать апгрейд до 64-битного Access;
2) установить на машину 32-битный инстанс SQL Server, подключить его как Linked Server к 64-битному инстансу, запрашивать данные через него;
3) сделать даунгрейд до 32-битного SQL Server, если не смущают его ограничения по памяти.

Всё вышесказанное есть ИМХО и не проверялось мною на практике.
Вот какая-то ссылка для чтения: http://blogs.msdn.com/b/farukcelik/archive/2010/06/04/accessing-excel-files-on-a-x64-machine.aspx
nezhadnye_my
Дата: 31.01.2013 12:00:57
Гость333
Печаль в том, что указанных поставщиков невозможно установить, если на машине установлен 32-битный Microsoft Office.


да, но можно иметь "неустановленный офис x32".
на моем компе живут оба провайдера (х32 и х64)
и оба офиса.
просто офис х32 Portable
:)
ДАВИД
Дата: 10.02.2013 17:38:07
Привет.
Все решилось просто и радикально.
Установил SQL 2008 R2 32bit и включил через sp_configure разрешение віполнения распределенных запросов.
(не помню абривиатуру, что-то типа AD ...). Кстати SQL сам сказал, что и где поменять!!!
И все заработало! УРА!!!!
А ограничений по памяти пока нет.
Всем спасибо.