Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
User2155 Member Откуда: Сообщений: 150 |
Добрый день, не работает подключение к LinkedServer у пользователя. Выдает ошибку: Cannot initialize the data source object of OLE DB provider "Microsoft.ACE.OLEDB.12.0" for linked server "margin_excel_srv". (Microsoft SQL Server, Error: 7303) Сервер подключается к эксель файлу в папке. Вот скрипт создания: USE [master] GO /****** Object: LinkedServer [margin_excel_srv] Script Date: 23.04.2018 15:23:25 ******/ EXEC master.dbo.sp_addlinkedserver @server = N'margin_excel_srv', @srvproduct=N'Excel', @provider=N'Microsoft.ACE.OLEDB.12.0', @datasrc=N'D:\Margin_excel_files\ILKMP.xlsx', @provstr=N'Excel 12.0;IMEX=1;HDR=YES;' /* For security reasons the linked server remote logins password is changed with ######## */ EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'margin_excel_srv',@useself=N'True',@locallogin=NULL,@rmtuser=NULL,@rmtpassword=NULL У меня все работает нормально. Права на чтение из папки у пользователя есть. Ради прикола даже сделал его сисадмином на сервере - все равно такая же ошибка. Есть идеи как это лечится? |
23 апр 18, 15:29 [21361430] Ответить | Цитировать Сообщить модератору |
User2155 Member Откуда: Сообщений: 150 |
Есть подозрение это как-то связано с версиями экселя. У пользователя стоит 32х битная, у меня 64 битная. Может из-за этого оно и глючит. По крайней мере это единственное что я смог нарыть... |
23 апр 18, 17:55 [21362143] Ответить | Цитировать Сообщить модератору |
User2155 Member Откуда: Сообщений: 150 |
Для потомков. Лечится вот таким способом. 1) Сделать SQL логин, от имени которого идет подключение к серверу. К сожалению, он должен быть сисадмином. Наверное, есть способ дать ему меньше прав, но я не нашел. 2) Завести этот логин в самом LinkedServer. EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'margin_excel_srv',@useself=N'False',@locallogin=N'MySqlSysadminLogin',@rmtuser=NULL,@rmtpassword=NULL У меня подключается приложение, поэтому пользователи логин и пароль сисадмина знать не будут. Работает вроде... |
25 апр 18, 09:26 [21366702] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |