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

Откуда:
Сообщений: 1001
SQL Server 2008R2
SELECT CustomerID, CompanyName
   FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',
      'C:\test.mdb';
      'admin';'',tb);
GO
 


Пишет
Msg 7403, Level 16, State 1, Line 1
The OLE DB provider "Microsoft.Jet.OLEDB.4.0" has not been registered.

Я прочитал что Microsoft.Jet.OLEDB.4.0 на 64 бит поставить нельзя вроде бы как.
Как же таблицу из БД прочитать?
9 июн 12, 14:52    [12694393]     Ответить | Цитировать Сообщить модератору
 Re: доступ к БД Access через MS SQL  [new]
Shakill
Member

Откуда: мск
Сообщений: 1887
Albatross,

Microsoft.ACE.OLEDB.12.0
9 июн 12, 14:55    [12694414]     Ответить | Цитировать Сообщить модератору
 Re: доступ к БД Access через MS SQL  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
http://www.microsoft.com/en-us/download/details.aspx?id=13255
9 июн 12, 14:56    [12694417]     Ответить | Цитировать Сообщить модератору
 Re: доступ к БД Access через MS SQL  [new]
Albatross
Member

Откуда:
Сообщений: 1001
pkarklin,

Не получается:(
Вернее, получается, если бд не запароленна (c:\tt.mdb)
      SELECT *
   FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0',
      'c:\tt.mdb';
      'Admin';'',Статистика);
      


А когда запароленна C:\Акты.mdb (сама БД), то ничего не выходит.
Пишу, например

  SELECT a.*
FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Database=C:\Акты.mdb; Jet OLEDB:Database Password=pwd',
    Статистика) AS a;
 

Получаю
OLE DB provider "Microsoft.ACE.OLEDB.12.0" for linked server "(null)" returned message "Could not find installable ISAM.".
Msg 7303, Level 16, State 1, Line 1
Cannot initialize the data source object of OLE DB provider "Microsoft.ACE.OLEDB.12.0" for linked server "(null)".

Пробовал через связанный сервер - то же самое.
Естественно,

      SELECT *
   FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0',
      'c:\Акты.mdb';
      'Admin';'pwd',Статистика);
      


Тоже не работает, потому что pwd это не пароль Admin, а пароль на саму базу данных.
1 июл 12, 23:08    [12801396]     Ответить | Цитировать Сообщить модератору
 Re: доступ к БД Access через MS SQL  [new]
qwerty112
Guest
Albatross,

попробуй - 12549158
1 июл 12, 23:19    [12801417]     Ответить | Цитировать Сообщить модератору
 Re: доступ к БД Access через MS SQL  [new]
Albatross
Member

Откуда:
Сообщений: 1001
qwerty112,

'AllowInProcess', 1
'DynamicParameters', 1

это все выставлено
1 июл 12, 23:31    [12801452]     Ответить | Цитировать Сообщить модератору
 Re: доступ к БД Access через MS SQL  [new]
Glory
Member

Откуда:
Сообщений: 104751
Albatross
А когда запароленна C:\Акты.mdb (сама БД), то ничего не выходит.

И не выйдет. Ввод пароля - интерактивный, пароль к базе нельзя задать в строке соединения.
2 июл 12, 10:27    [12802389]     Ответить | Цитировать Сообщить модератору
 Re: доступ к БД Access через MS SQL  [new]
Albatross
Member

Откуда:
Сообщений: 1001
Glory
Albatross
А когда запароленна C:\Акты.mdb (сама БД), то ничего не выходит.

И не выйдет. Ввод пароля - интерактивный, пароль к базе нельзя задать в строке соединения.


ну для библиотеки Jet советовали везде Jet OLEDB:Database Password=pwd
и типа работало
2 июл 12, 10:48    [12802531]     Ответить | Цитировать Сообщить модератору
 Re: доступ к БД Access через MS SQL  [new]
Glory
Member

Откуда:
Сообщений: 104751
Albatross
ну для библиотеки Jet советовали везде Jet OLEDB:Database Password=pwd
и типа работало

Вы сами то это проверяли ?
2 июл 12, 10:52    [12802554]     Ответить | Цитировать Сообщить модератору
 Re: доступ к БД Access через MS SQL  [new]
Albatross
Member

Откуда:
Сообщений: 1001
Glory,

Ну вот пишут же!

http://forum.developing.ru/archive/index.php/t-22311.html

http://www.cyberforum.ru/ado-net/thread222727.html

и т.п.

Другое дело что в SQL у меня с JET такая же ошибка, как и с Ace...
Может я что-то не так делаю, синтаксис не тот или т.п.

Редко кто обращается к access через MS SQL, да ещё к запароленной базе.
2 июл 12, 11:30    [12802786]     Ответить | Цитировать Сообщить модератору
 Re: доступ к БД Access через MS SQL  [new]
Albatross
Member

Откуда:
Сообщений: 1001
Короче, я победил.
Из чистого SQL не получилось, пришлось clr процедуру написать, а там oledbconnection, где

'Provider=Microsoft.ACE.OLEDB.12.0; Data source=C:\акты.mdb;Jet OLEDB:Database Password=pwd'
работает.
Но больно уж криво.
2 июл 12, 13:48    [12803870]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить