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

Откуда:
Сообщений: 497
Добрый день!
Подскажите как подцепить данные из Excel, который лежит в Filetable?

SELECT *
FROM OPENROWSET( 
      'Microsoft.ACE.OLEDB.12.0',
      'Excel 8.0;HDR=Yes;Database=\\Srv1\mssqlserver\...\abc.xls',
      'select * from [Лист1$]'
    )


Сообщение 7399, уровень 16, состояние 1, строка 21
Поставщик OLE DB "Microsoft.ACE.OLEDB.12.0" для связанного сервера "(null)" сообщил об ошибке. Поставщик не предоставил данных об ошибке.
Сообщение 7303, уровень 16, состояние 1, строка 21
Не удалось проинициализировать объект источника данных поставщика OLE DB "Microsoft.ACE.OLEDB.12.0" для связанного сервера "(null)".

С сетевого диска все читается (создал, проверил), вероятно не хватает прав на папку с данными, не пойму каких.
Запрос выполняю под sa.
26 июн 18, 17:55    [21522957]     Ответить | Цитировать Сообщить модератору
 Re: OPENROWSET c FILETABLE  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4379
KRS544,

Проверьте, что пользователь от которого производиться доступ к файлу (аккаунт службы) имеет права на чтение файловой системы. То, что это sa, ничего ещё не значит.
26 июн 18, 19:20    [21523145]     Ответить | Цитировать Сообщить модератору
 Re: OPENROWSET c FILETABLE  [new]
aleks222
Member

Откуда:
Сообщений: 851
a_voronin
KRS544,

Проверьте, что пользователь от которого производиться доступ к файлу (аккаунт службы) имеет права на чтение файловой системы. То, что это sa, ничего ещё не значит.


Для Filetable разрешения файловой системы НЕ действуют. Более того - рулить разрешениями там нельзя.
Есть два варианта: 1. Чтение или 2. Полный доступ Всем.

Либо фсе, либо ничего.

1. Проверьте внешним приложением доступ - ну, тупо, Excel-ем откройте.
2. Проверьте OPENROWSET( BULK, ...
3. Иногда, ничего не спасает. Пример - DatabaseMail принципиально ничего из Filetable отправить не могет.
26 июн 18, 19:59    [21523203]     Ответить | Цитировать Сообщить модератору
 Re: OPENROWSET c FILETABLE  [new]
KRS544
Member

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

В 2016 права раздаются указанием доступа к таблице Filetable для доменных юзеров.

1. открывается
2. Как указать BULK в данной конструкции?
27 июн 18, 12:31    [21524792]     Ответить | Цитировать Сообщить модератору
 Re: OPENROWSET c FILETABLE  [new]
KRS544
Member

Откуда:
Сообщений: 497
Выдал на таблицу права для [NETWORK SERVICE], под ним запущена служба, и для [NT SERVICE\MSSQLSERVER] , не помогло...
27 июн 18, 12:49    [21524908]     Ответить | Цитировать Сообщить модератору
 Re: OPENROWSET c FILETABLE  [new]
Владислав Колосов
Member

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

копируйте файл.
27 июн 18, 13:09    [21524988]     Ответить | Цитировать Сообщить модератору
 Re: OPENROWSET c FILETABLE  [new]
invm
Member

Откуда: Москва
Сообщений: 9122
KRS544,

https://social.msdn.microsoft.com/Forums/sqlserver/en-US/2262afe6-d9cb-44a9-8939-0e9c60f16ca5/openrowset-failure-when-access-filestream-filetable?forum=sqldatabaseengine
27 июн 18, 14:24    [21525250]     Ответить | Цитировать Сообщить модератору
 Re: OPENROWSET c FILETABLE  [new]
KRS544
Member

Откуда:
Сообщений: 497
invm, если правильно перевел, то получается Экзепляр SQL Server не может обращаться к сетевой папке FileTable им созданной.

Обидно, пошел по пути копирования во временную папку...
27 июн 18, 16:03    [21525610]     Ответить | Цитировать Сообщить модератору
 Re: OPENROWSET c FILETABLE  [new]
invm
Member

Откуда: Москва
Сообщений: 9122
KRS544
Обидно, пошел по пути копирования во временную папку...
Можете попробовать дополнительно создать обычную шару на ту же папку.
27 июн 18, 16:35    [21525704]     Ответить | Цитировать Сообщить модератору
 Re: OPENROWSET c FILETABLE  [new]
Владислав Колосов
Member

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

эта штука не шарепойнт, предназначена для копирования и удаления файлов. К тому же не слишком хорошая производительность, возможно из-за доступа как к сетевой шаре с полноценной обвязкой протоколами, правами и тому подобным. Индусы сильно преувеличивают юзабилити, скорее маркетинговый трюк.
27 июн 18, 17:03    [21525812]     Ответить | Цитировать Сообщить модератору
 Re: OPENROWSET c FILETABLE  [new]
aleks222
Member

Откуда:
Сообщений: 851
KRS544
aleks222,

В 2016 права раздаются указанием доступа к таблице Filetable для доменных юзеров.

Вот не надо фантазировать
https://docs.microsoft.com/en-us/sql/relational-databases/blob/manage-filetables?view=sql-server-2017#BasicsSecurity

автор
FileTable Security

The files and directories stored in FileTables are secured by SQL Server security only. Table and column-based security is enforced for file system access as well as Transact-SQL access. Windows file system security APIs and ACL settings are not supported.

The security and access permissions that are applicable to FILESTREAM filegroups and containers also apply to FileTables, since the file data is stored as a FILESTREAM column in the FileTable.
27 июн 18, 17:21    [21525886]     Ответить | Цитировать Сообщить модератору
 Re: OPENROWSET c FILETABLE  [new]
aleks222
Member

Откуда:
Сообщений: 851
invm
KRS544
Обидно, пошел по пути копирования во временную папку...
Можете попробовать дополнительно создать обычную шару на ту же папку.


Ты в "ту же папку" заглядывал?
А надо бы.
27 июн 18, 17:22    [21525890]     Ответить | Цитировать Сообщить модератору
 Re: OPENROWSET c FILETABLE  [new]
KRS544
Member

Откуда:
Сообщений: 497
aleks222
KRS544
aleks222,

В 2016 права раздаются указанием доступа к таблице Filetable для доменных юзеров.

Вот не надо фантазировать
https://docs.microsoft.com/en-us/sql/relational-databases/blob/manage-filetables?view=sql-server-2017#BasicsSecurity

автор
FileTable Security

The files and directories stored in FileTables are secured by SQL Server security only. Table and column-based security is enforced for file system access as well as Transact-SQL access. Windows file system security APIs and ACL settings are not supported.

The security and access permissions that are applicable to FILESTREAM filegroups and containers also apply to FileTables, since the file data is stored as a FILESTREAM column in the FileTable.


Это не так
27 июн 18, 18:54    [21526201]     Ответить | Цитировать Сообщить модератору
 Re: OPENROWSET c FILETABLE  [new]
KRS544
Member

Откуда:
Сообщений: 497
[url=]https://docs.microsoft.com/uk-ua/sql/relational-databases/blob/manage-filetables?view=sql-server-2017[/url]
Точнее говорится о том, что безопасность обеспечивается (разграничивается) средствами SQL Server, а не OC.
При этом вполне можно дать доступ доменному юзеру, что у меня работает.
27 июн 18, 19:01    [21526232]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить