Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 open rowset и sql server agent  [new]
оппа говносайт
Guest
в чем причина?

есть хранимка в ней через openrowset из excel вытаскиваю данные. если выполнять в management studio:

execute as login = 'nt service\sqlserveragent'

exec dbo.ProcessAllFiles;

revert;


отрабатывает правильно,

если же в теле джоба

exec dbo.ProcessAllFiles;


то ругается
Cannot initialize the data source object of OLE DB provider "Microsoft.ACE.OLEDB.12.0" for linked server "(null)". Procedure:  Line: 2 Error Number: 7303 Error Severity: 16 Error State: 16


в профайлере видно что эта хранимка также летит в базу под nt service\sqlserveragent

хз что надо ему.
8 дек 14, 17:14    [16967509]     Ответить | Цитировать Сообщить модератору
 Re: open rowset и sql server agent  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7868
оппа говносайт, криво линк настроен или датасорс недоступен.
8 дек 14, 17:18    [16967533]     Ответить | Цитировать Сообщить модератору
 Re: open rowset и sql server agent  [new]
оппа говносайт
Guest
Владислав Колосов
оппа говносайт, криво линк настроен или датасорс недоступен.


как же криво. под той же учеткой работает из mgmt studio. sql agent перегрузил. не помогает.
8 дек 14, 17:20    [16967542]     Ответить | Цитировать Сообщить модератору
 Re: open rowset и sql server agent  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7868
http://technet.microsoft.com/en-us/library/aa226395(v=sql.80).aspx?ppud=4
8 дек 14, 17:26    [16967569]     Ответить | Цитировать Сообщить модератору
 Re: open rowset и sql server agent  [new]
оппа говносайт
Guest
вот такой код там

exec('
			select [c1], [c2]
			from 
				openrowset
				(
					''Microsoft.ACE.OLEDB.12.0'',
					''Excel 12.0;Database=' + @processing_folder + @file_name + ''', 
					''SELECT * FROM [ПП$]''
				);
')
8 дек 14, 17:28    [16967589]     Ответить | Цитировать Сообщить модератору
 Re: open rowset и sql server agent  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4804
Скорее всего, это проблема делегирования контексста аутентификации. Надо настроить "Kerberos Double Hop".

Загляните сюда

Linked server с виндовой авторизацией

http://blogs.technet.com/b/askds/archive/2008/06/13/understanding-kerberos-double-hop.aspx
http://technet.microsoft.com/en-us/library/dbb9141d-ce8d-48be-9ed1-9142beb51652
8 дек 14, 17:31    [16967603]     Ответить | Цитировать Сообщить модератору
 Re: open rowset и sql server agent  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7868
Джоб вот сюда
@processing_folder + @file_name

посылает NULL.
8 дек 14, 17:33    [16967613]     Ответить | Цитировать Сообщить модератору
 Re: open rowset и sql server agent  [new]
оппа говносайт
Guest
Владислав Колосов
Джоб вот сюда
@processing_folder + @file_name

посылает NULL.


проверил первым делом - нет
8 дек 14, 17:37    [16967628]     Ответить | Цитировать Сообщить модератору
 Re: open rowset и sql server agent  [new]
оппа говносайт
Guest
есть еще варианты лить из excel?
8 дек 14, 17:41    [16967646]     Ответить | Цитировать Сообщить модератору
 Re: open rowset и sql server agent  [new]
оппа говносайт
Guest
a_voronin
Скорее всего, это проблема делегирования контексста аутентификации. Надо настроить "Kerberos Double Hop".

Загляните сюда

Linked server с виндовой авторизацией

http://blogs.technet.com/b/askds/archive/2008/06/13/understanding-kerberos-double-hop.aspx
http://technet.microsoft.com/en-us/library/dbb9141d-ce8d-48be-9ed1-9142beb51652


спасибо, погляжу. не увверен что кто-то будет лезть в AD из-за этого.
8 дек 14, 17:42    [16967650]     Ответить | Цитировать Сообщить модератору
 Re: open rowset и sql server agent  [new]
оппа говносайт
Guest
любопытно, но если sql agent запустить под Local System, то нормально отрабатывает.
8 дек 14, 17:52    [16967699]     Ответить | Цитировать Сообщить модератору
 Re: open rowset и sql server agent  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7868
оппа говносайт
есть еще варианты лить из excel?


Ну-у-у еще есть вариант - протолкнуть данные из Excel на сиквел путём VBA. Или через CSV попробовать.
8 дек 14, 17:52    [16967700]     Ответить | Цитировать Сообщить модератору
 Re: open rowset и sql server agent  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7868
Еще можно SSIS пакет сделать или мастером импорта.
8 дек 14, 17:54    [16967709]     Ответить | Цитировать Сообщить модератору
 Re: open rowset и sql server agent  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4804
оппа говносайт
любопытно, но если sql agent запустить под Local System, то нормально отрабатывает.


Доступ к папке, где лежит excel посмотрите
8 дек 14, 18:03    [16967749]     Ответить | Цитировать Сообщить модератору
 Re: open rowset и sql server agent  [new]
Glory
Member

Откуда:
Сообщений: 104760
оппа говносайт
в профайлере видно что эта хранимка также летит в базу под nt service\sqlserveragent


Зачем тогда делать execute as login = 'nt service\sqlserveragent' ?
9 дек 14, 11:15    [16970774]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить