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

Откуда: SPB.RU
Сообщений: 93
Всем привет!
Есть необходимость сслепить список файлов из директории с пробелами. Xp_dirtree выдает пустой результат. Права точно есть, тк она работает как только пробелы убираешь. Кавычки не помогают.
27 янв 15, 15:24    [17177313]     Ответить | Цитировать Сообщить модератору
 Re: dir_tree и путь с пробелами  [new]
Glory
Member

Откуда:
Сообщений: 104751
Все замечательно работает
exec xp_dirtree 'c:\Program Files',1
27 янв 15, 15:28    [17177355]     Ответить | Цитировать Сообщить модератору
 Re: dir_tree и путь с пробелами  [new]
AlexTank
Member

Откуда: SPB.RU
Сообщений: 93
Glory,
Да, похоже проблема не в этом.
Создал подкаталог, какие надо дать на него права, чтобы процедура эта его видела?
запрос делаю через сетевой путь.
\\srvr\post$\out\ работает
\\srvr\post$\out\1 нет
27 янв 15, 15:38    [17177446]     Ответить | Цитировать Сообщить модератору
 Re: dir_tree и путь с пробелами  [new]
Glory
Member

Откуда:
Сообщений: 104751
AlexTank
чтобы процедура эта его видела?

Процедура видит то, что видит учетная запись сервера
27 янв 15, 15:39    [17177454]     Ответить | Цитировать Сообщить модератору
 Re: dir_tree и путь с пробелами  [new]
AlexTank
Member

Откуда: SPB.RU
Сообщений: 93
Glory, проверил специально, права унаследованы с родительской папки.
27 янв 15, 15:46    [17177531]     Ответить | Цитировать Сообщить модератору
 Re: dir_tree и путь с пробелами  [new]
Glory
Member

Откуда:
Сообщений: 104751
AlexTank
Glory, проверил специально, права унаследованы с родительской папки.

Чудес не бывает
Для развеивания мифов применяют Аудит доступа.
27 янв 15, 15:51    [17177581]     Ответить | Цитировать Сообщить модератору
 Re: dir_tree и путь с пробелами  [new]
AlexTank
Member

Откуда: SPB.RU
Сообщений: 93
Glory,

К сожалению я не админ на этом сервере.
Еще раз проверил, у учетки сервера полный доступ, как на выделенный ресурс, так и На уровне файловой системы.
27 янв 15, 15:59    [17177647]     Ответить | Цитировать Сообщить модератору
 Re: dir_tree и путь с пробелами  [new]
Glory
Member

Откуда:
Сообщений: 104751
AlexTank
Еще раз проверил, у учетки сервера полный доступ, как на выделенный ресурс, так и На уровне файловой системы.

Интересно и как вы это проверили, если вы " не админ на этом сервере. " ?
27 янв 15, 16:01    [17177664]     Ответить | Цитировать Сообщить модератору
 Re: dir_tree и путь с пробелами  [new]
AlexTank
Member

Откуда: SPB.RU
Сообщений: 93
Glory, я владелец ресурса
:)
27 янв 15, 16:03    [17177683]     Ответить | Цитировать Сообщить модератору
 Re: dir_tree и путь с пробелами  [new]
Glory
Member

Откуда:
Сообщений: 104751
AlexTank
Glory, я владелец ресурса
:)

Т.е. вы силой мысли владельца ресурса проверили наличие прав у той учетной записи, что использует xp_dirtree ?
27 янв 15, 16:05    [17177701]     Ответить | Цитировать Сообщить модератору
 Re: dir_tree и путь с пробелами  [new]
AlexTank
Member

Откуда: SPB.RU
Сообщений: 93
Glory, Если зайти в свойства каталога, безопасность, действующие разрешения, выбрать учетки сервера, там виден полный доступ для нее.
27 янв 15, 16:08    [17177721]     Ответить | Цитировать Сообщить модератору
 Re: dir_tree и путь с пробелами  [new]
Glory
Member

Откуда:
Сообщений: 104751
AlexTank
Glory, Если зайти в свойства каталога, безопасность, действующие разрешения, выбрать учетки сервера, там виден полный доступ для нее.

А свойства каталога как-то могут заставить сервер обращаться под нужной учетной записью ?
27 янв 15, 16:10    [17177741]     Ответить | Цитировать Сообщить модератору
 Re: dir_tree и путь с пробелами  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31868
AlexTank
Glory, Если зайти в свойства каталога, безопасность, действующие разрешения, выбрать учетки сервера, там виден полный доступ для нее.
На папки \\srvr\post$\out\ и \\srvr\post$\out\1 набор прав доступа одинаковый?
27 янв 15, 16:11    [17177754]     Ответить | Цитировать Сообщить модератору
 Re: dir_tree и путь с пробелами  [new]
AlexTank
Member

Откуда: SPB.RU
Сообщений: 93
Glory, Если выполнить xp_cmdshell 'Whoami' то отображается учетка сервера.
Или эти процедуры выполняются под разными учетками?
27 янв 15, 16:14    [17177781]     Ответить | Цитировать Сообщить модератору
 Re: dir_tree и путь с пробелами  [new]
AlexTank
Member

Откуда: SPB.RU
Сообщений: 93
alexeyvg
AlexTank
Glory, Если зайти в свойства каталога, безопасность, действующие разрешения, выбрать учетки сервера, там виден полный доступ для нее.
На папки \\srvr\post$\out\ и \\srvr\post$\out\1 набор прав доступа одинаковый?

да. По умолчанию стоит наследовать набор прав родителя.
27 янв 15, 16:15    [17177793]     Ответить | Цитировать Сообщить модератору
 Re: dir_tree и путь с пробелами  [new]
Glory
Member

Откуда:
Сообщений: 104751
AlexTank
Glory, Если выполнить xp_cmdshell 'Whoami' то отображается учетка сервера.
Или эти процедуры выполняются под разными учетками?

Наконец-то какие то здравые ответы
Никто не знает точно, как выполняется недокументированная процедура xp_dirtree.
Есть опыты, показывающие, что она выполнятеся под учетной записью службы сервера

А вот xp_cmdshell можно сконфигурировать по разному для sa и для не-sa
27 янв 15, 16:18    [17177829]     Ответить | Цитировать Сообщить модератору
 Re: dir_tree и путь с пробелами  [new]
AlexTank
Member

Откуда: SPB.RU
Сообщений: 93
Glory,
Exec xp_cmdshell 'dir \\srvr\post$\out\1' работает.

Сейчас не понятно, что сделали с сервером, но вчера он по dirtree показывал все вложенные папки и файлы каталога\\srvr\post$\out\. Приходилось специально фильтровать по первому уровню вложенности.
27 янв 15, 16:22    [17177868]     Ответить | Цитировать Сообщить модератору
 Re: dir_tree и путь с пробелами  [new]
AlexTank
Member

Откуда: SPB.RU
Сообщений: 93
AlexTank
Glory,
Exec xp_cmdshell 'dir \\srvr\post$\out\1' работает.

Сейчас не понятно, что сделали с сервером, но вчера он по dirtree показывал все вложенные папки и файлы каталога\\srvr\post$\out\. Приходилось специально фильтровать по первому уровню вложенности.

а ничего не делали, просто процедуру с параметрами запускали.
сейчас не работает даже с параметрами.
27 янв 15, 16:26    [17177898]     Ответить | Цитировать Сообщить модератору
 Re: dir_tree и путь с пробелами  [new]
Glory
Member

Откуда:
Сообщений: 104751
Поздравляю, вы выиграли приз в номинации "Я люблю недокументированные процедуры"
27 янв 15, 16:28    [17177919]     Ответить | Цитировать Сообщить модератору
 Re: dir_tree и путь с пробелами  [new]
AlexTank
Member

Откуда: SPB.RU
Сообщений: 93
Glory
Поздравляю, вы выиграли приз в номинации "Я люблю недокументированные процедуры"

пришлось запустить cmdshell 'dir \\srvr\post$\out\1/a-d / b'
27 янв 15, 16:32    [17177954]     Ответить | Цитировать Сообщить модератору
 Re: dir_tree и путь с пробелами  [new]
AlexTank
Member

Откуда: SPB.RU
Сообщений: 93
AlexTank,

Песня дальше продолжается. Функцич Opendatasource может не под учетной сервера открывать екселевский файл?
27 янв 15, 16:50    [17178098]     Ответить | Цитировать Сообщить модератору
 Re: dir_tree и путь с пробелами  [new]
Glory
Member

Откуда:
Сообщений: 104751
AlexTank
Функцич Opendatasource может не под учетной сервера открывать екселевский файл?

Хелп не пробовали читать ?
Permissions
Any user can execute OPENDATASOURCE. The permissions that are used to connect to the remote server are determined from the connection string.
27 янв 15, 16:54    [17178127]     Ответить | Цитировать Сообщить модератору
 Re: dir_tree и путь с пробелами  [new]
AlexTank
Member

Откуда: SPB.RU
Сообщений: 93
Glory,

Пробовал, не помогает.
Вы процитировали строку на запуск этой самой функции. Она запускается и драйвер выдает ошибку unspecified error. Скорее всего опять же прав не хватает.
27 янв 15, 17:03    [17178187]     Ответить | Цитировать Сообщить модератору
 Re: dir_tree и путь с пробелами  [new]
Glory
Member

Откуда:
Сообщений: 104751
AlexTank
Вы процитировали строку на запуск этой самой функции.

Ну так вы про функцию и спросили
27 янв 15, 17:08    [17178215]     Ответить | Цитировать Сообщить модератору
 Re: dir_tree и путь с пробелами  [new]
AlexTank
Member

Откуда: SPB.RU
Сообщений: 93
Glory,

Короче после экспериментов с недокументированными функциями результат следующий:
На сетевую папку даем полный доступ пользователю, под которым запущен sql сервер.
Xp_cmdshell 'dir ... ' работает нормально. Если прав на папку не хватает, она говорит access denied.
Opendatasource тоже работает под сис админом. Если запускать его под другим пользователем, то нужно давать права на папки temp для записи, видимо для того, чтобы открыть екселевский файл.
Xp_dirtree не работает, и не понятно что ей надо.
28 янв 15, 10:18    [17180923]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить