Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Папки sql запросом / 15 сообщений из 15, страница 1 из 1
24.12.2018, 13:40
    #39752214
Chernikovkn
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Папки sql запросом
Добрый день, помогите/подскажите пожалуйста:
Как запросом в mssql создавать файловые папки с названием на основе строки из определённого поля таблицы
...
Рейтинг: 0 / 0
24.12.2018, 18:13
    #39752417
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Папки sql запросом
Chernikovkn,

для создания папок используют средства операционной системы, а не SQL Server.
...
Рейтинг: 0 / 0
24.12.2018, 18:16
    #39752420
WarAnt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Папки sql запросом
Chernikovkn,

xp_cmdshell 'md c:\ttt'
...
Рейтинг: 0 / 0
25.12.2018, 07:35
    #39752590
Chernikovkn
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Папки sql запросом
Владислав Колосов,

это понятно,
но как быть если нужно создать их 1000 единиц, с именами как в таблице sql?

поэтому и возник сей вопрос
...
Рейтинг: 0 / 0
25.12.2018, 07:37
    #39752592
Chernikovkn
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Папки sql запросом
WarAnt,

это предполагает задание имени папки руками,

мне же нужно чтобы запрос считывал данные из определенного поля и на основание данных каждой строки создавал папку
...
Рейтинг: 0 / 0
25.12.2018, 08:04
    #39752599
PizzaPizza
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Папки sql запросом
ChernikovknВладислав Колосов,

это понятно,
но как быть если нужно создать их 1000 единиц, с именами как в таблице sql?

поэтому и возник сей вопрос

Это вам надо один раз создать или периодически по 1000 папок создавать?

Если один раз, то делаете экспорт имён папок из базы и формируете bat/bash файл создающий вот это все.
Если периодически, то это очень интересная задача.
...
Рейтинг: 0 / 0
25.12.2018, 08:08
    #39752600
Chernikovkn
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Папки sql запросом
PizzaPizza,

Создать нужно разово - это первоочередная задача,

но потом по мере обновления/добавления информации соответственно добавлять папки
...
Рейтинг: 0 / 0
25.12.2018, 08:25
    #39752602
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Папки sql запросом
ChernikovknWarAnt,

это предполагает задание имени папки руками,Это предполагает написать пару пяток строк кода, который вызывает xp_cmdshell с именем папки, взятой из таблицы.
...
Рейтинг: 0 / 0
25.12.2018, 08:41
    #39752604
Chernikovkn
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Папки sql запросом
alexeyvg,

вот это и вызывает у меня трудность

слишком мало опыта, но хочется разобраться
...
Рейтинг: 0 / 0
25.12.2018, 09:48
    #39752619
uaggster
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Папки sql запросом
Chernikovkn, есть 2 способа, правильный и неправильный.
Точнее - 1 правильный, и куча вариантов неправильного.
Правильный:
Создайте filetable. Это, нормальным образом доступно начиная с 2012+ сервера.
В пределах filetable можно создавать папки обычным insert в эту самую filetable. Соответственно, созданные папки будут доступны в виртуальном сетевом каталоге.
Неправильный:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
declare @s nvarchar(max)

declare @folders table (folder nvarchar(255))

insert into @folders
	Values(N'folder1'), (N'folder2'), (N'folder2')

Set @s = (
		Select N'xp_cmdshell ''md c:\' + a.folder +  N''';'
			from @folders a
		For xml path (N''), type
		).value(N'.', N'nvarchar(max)')

exec (@s)


Ну, разумеется, @folders - может быть какой то реальной таблицей.
...
Рейтинг: 0 / 0
25.12.2018, 10:13
    #39752635
Chernikovkn
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Папки sql запросом
uaggster,

Спасибо за помощь, буду пробовать

с помощью filetable я уже создал структуру папок, но этот метод не поддерживает создание этих папок гдето (в сети в моем случае), кроме как локально, а ставить на файловый сервер sql-сервер не хотелось бы
...
Рейтинг: 0 / 0
25.12.2018, 12:13
    #39752698
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Папки sql запросом
Chernikovkn,

напишите приложение, не мучайте сервер.
...
Рейтинг: 0 / 0
25.12.2018, 12:25
    #39752707
Chernikovkn
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Папки sql запросом
PizzaPizza,

Я правильно понял Вашу мысль?

Извлекаю запросом из таблицы нужное поле предположим в test.txt,

делаю батник с содержанием: @<«test.txt» (for /f «delims=» %%i in (‘more’) do @md «%%~i»)

подкладываю их соответственно туда где необходимо создать эту кучу папок и запускаю .bat
...
Рейтинг: 0 / 0
25.12.2018, 20:52
    #39753091
PizzaPizza
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Папки sql запросом
Chernikovkn,

Красиво конечно. Как одноразовый проект я бы сделал тупее

Код: sql
1.
Select 'md c:\path\' + dirname from t



Вставил бы результат в текстовый файл и переименовал его в bat.
...
Рейтинг: 0 / 0
26.12.2018, 12:44
    #39753346
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Папки sql запросом
Chernikovkn,

полно же средств в винде - VBS, JS, Pоwer Shell.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Папки sql запросом / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]