Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3   вперед  Ctrl      все
 Re: Таблицы FileTable  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
Может быть ето ?

автор
From http://msdn.microsoft.com/en-us/library/ms190307.aspx

Database Mail uses the Microsoft Windows security context of the current user to control access to files. Therefore, users who are authenticated with SQL Server Authentication cannot attach files using @file_attachments.

There are certain limitations here as well. Please refer the two connect items in the post below:

http://social.msdn.microsoft.com/Forums/en-US/transactsql/thread/f043d6ae-99e8-4b12-854d-3a9d3e7bd4ba/

Хотя может быть и ето
1 июл 16, 10:28    [19358137]     Ответить | Цитировать Сообщить модератору
 Re: Таблицы FileTable  [new]
o-o
Guest
connect: Sql Server Database Mail attachments from FileTable msg 22051 (file is invalid)
Status Closed
Workarounds 0
Type Bug
Repros 2
1 июл 16, 10:41    [19358205]     Ответить | Цитировать Сообщить модератору
 Re: Таблицы FileTable  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
..кина не будет ,електричество кончилось
1 июл 16, 10:47    [19358235]     Ответить | Цитировать Сообщить модератору
 Re: Таблицы FileTable  [new]
komrad
Member

Откуда: Msk -> Utrecht
Сообщений: 5156
aleks2
Поплачусь хоть тут...

exec msdb.dbo.sp_send_dbmail
            , @file_attachments = '\\server\share\directory\table\file.txt';


не желает брать файл из FileTable.

Сообщение 22051, уровень 16, состояние 1, строка 0
Недопустимый файл вложения \\HPSERVER\MORETRAVEL\ETL\AlfaInsurance\Альфастрахование медицина от 2016-07-01 (2016-07-01 12_16_48).csv.

Вот такая вот зараза.

а если использовать параметры @query & @attach_query_result_as_file ?
1 июл 16, 10:48    [19358244]     Ответить | Цитировать Сообщить модератору
 Re: Таблицы FileTable  [new]
aleks2
Guest
komrad
aleks2
Поплачусь хоть тут...

exec msdb.dbo.sp_send_dbmail
            , @file_attachments = '\\server\share\directory\table\file.txt';


не желает брать файл из FileTable.

Сообщение 22051, уровень 16, состояние 1, строка 0
Недопустимый файл вложения \\HPSERVER\MORETRAVEL\ETL\AlfaInsurance\Альфастрахование медицина от 2016-07-01 (2016-07-01 12_16_48).csv.

Вот такая вот зараза.

а если использовать параметры @query & @attach_query_result_as_file ?


Ну да, я от безделья замутил FileTable.

@attach_query_result_as_file аттачит как Unicode.
И хоть ты тресни.
А я желаю OEM.
1 июл 16, 10:51    [19358261]     Ответить | Цитировать Сообщить модератору
 Re: Таблицы FileTable  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74927
aleks2,

А зачем была вся эта возня с сохранением файла на диск, если sp_send_dbmail может отправить результат запроса как вложение?
1 июл 16, 11:01    [19358317]     Ответить | Цитировать Сообщить модератору
 Re: Таблицы FileTable  [new]
Дедушка
Member

Откуда: Город трёх революций
Сообщений: 5112
aleks2
Поплачусь хоть тут...
+
тот кто пилюёт на помогающих может продолжать плакаться дальше...
1 июл 16, 11:05    [19358345]     Ответить | Цитировать Сообщить модератору
 Re: Таблицы FileTable  [new]
aleks2
Guest
pkarklin
aleks2,

А зачем была вся эта возня с сохранением файла на диск, если sp_send_dbmail может отправить результат запроса как вложение?

aleks2
@attach_query_result_as_file аттачит как Unicode.
И хоть ты тресни.
А я желаю OEM.
1 июл 16, 11:12    [19358381]     Ответить | Цитировать Сообщить модератору
 Re: Таблицы FileTable  [new]
komrad
Member

Откуда: Msk -> Utrecht
Сообщений: 5156
aleks2
@attach_query_result_as_file аттачит как Unicode.
И хоть ты тресни.
А я желаю OEM.

я вот тоже возжелал как-то раз оправлять аттачем выборку в формате xlsx, генерируя/собирая его "на лету" запросом
в итоге забил, потратив пару дней, и сейчас файлы уходят в csv формате
1 июл 16, 11:25    [19358461]     Ответить | Цитировать Сообщить модератору
 Re: Таблицы FileTable  [new]
aleks2
Guest
komrad
aleks2
@attach_query_result_as_file аттачит как Unicode.
И хоть ты тресни.
А я желаю OEM.

я вот тоже возжелал как-то раз оправлять аттачем выборку в формате xlsx, генерируя/собирая его "на лету" запросом
в итоге забил, потратив пару дней, и сейчас файлы уходят в csv формате


Да ладно
xp_cmdshell 'del .. & copy ... '
справилось.

Тока так-то проще было BCP.exe замутить.
1 июл 16, 11:32    [19358515]     Ответить | Цитировать Сообщить модератору
 Re: Таблицы FileTable  [new]
aleks2
Guest
Дык, csv и у меня.
Фишка в том, что Unicode-csv Excel открывает не так, как OEM-csv.

ЗЫ. А это не мне файлы - там народ ленивый.
1 июл 16, 11:36    [19358544]     Ответить | Цитировать Сообщить модератору
 Re: Таблицы FileTable  [new]
komrad
Member

Откуда: Msk -> Utrecht
Сообщений: 5156
aleks2
xp_cmdshell 'del .. & copy ... '
справилось.

Тока так-то проще было BCP.exe замутить.


у меня были следующие ограничения - делать всё на уровне SQL сервера, не выходя "наружу",
поэтому TSQL и генерация xlsx XML "XML Spreadsheet 2003" в табличке, с хедером и т.п. :)
1 июл 16, 11:43    [19358591]     Ответить | Цитировать Сообщить модератору
 Re: Таблицы FileTable  [new]
user89
Member

Откуда:
Сообщений: 2083
komrad
у меня были следующие ограничения - делать всё на уровне SQL сервера, не выходя "наружу",
поэтому TSQL и генерация xlsx XML "XML Spreadsheet 2003" в табличке, с хедером и т.п. :)
Тоже было нечто похожее, но формат XML Spreadsheet 2003 не подошел. Точно не помню, какие были минусы, но пришлось остановиться на формате mht.
Были проблемы с кодировкой, решил через bcp 14919716
1 июл 16, 12:32    [19358890]     Ответить | Цитировать Сообщить модератору
 Re: Таблицы FileTable  [new]
komrad
Member

Откуда: Msk -> Utrecht
Сообщений: 5156
user89
Точно не помню, какие были минусы, но пришлось остановиться на формате mht.

мнээ, это же формат сохраненных веб-страниц?
1 июл 16, 13:22    [19359254]     Ответить | Цитировать Сообщить модератору
 Re: Таблицы FileTable  [new]
user89
Member

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

в общем да. Взял за образец сохранённую страницу в IE, чтобы знать как выглядит шапка, подвал, разделители...
Иногда выгружал в обычный HTML по Способу 2
Excel хорошо его открывает, также в этот HTML можно запихнуть формулы, сделать группировки 16866168
1 июл 16, 15:09    [19360077]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: Таблицы FileTable  [new]
Кесарь
Member

Откуда:
Сообщений: 453
aleks2
2. В какой папке на локальном диске будут храниться файлы из FileTable?


Чего-то я не понял всего этого кипеша. Вот здесь https://docs.microsoft.com/ru-ru/sql/relational-databases/system-functions/filetablerootpath-transact-sql описана стандартная функция

select FileTableRootPath ( 'dbo.FileStorage', 2 ) 


где dbo.FileStorage - имя таблицы из списка файловых таблиц. Выдаёт результат вида

\\WEBSERVA.o3.ru\SQLSERVA\FileStorage\FileStorage


что является обычным путём до физической папки.
19 окт 17, 17:51    [20883553]     Ответить | Цитировать Сообщить модератору
 Re: Таблицы FileTable  [new]
felix_ff
Member

Откуда: Moscow
Сообщений: 1172
Кесарь,

+

Здравствуйте с Новым Годом!
"Кипешу" уже год с небольшим как исполнилось.
19 окт 17, 18:08    [20883610]     Ответить | Цитировать Сообщить модератору
 Re: Таблицы FileTable  [new]
aleks222
Guest
Кесарь
aleks2
2. В какой папке на локальном диске будут храниться файлы из FileTable?


Чего-то я не понял всего этого кипеша. Вот здесь https://docs.microsoft.com/ru-ru/sql/relational-databases/system-functions/filetablerootpath-transact-sql описана стандартная функция

select FileTableRootPath ( 'dbo.FileStorage', 2 ) 


где dbo.FileStorage - имя таблицы из списка файловых таблиц. Выдаёт результат вида

\\WEBSERVA.o3.ru\SQLSERVA\FileStorage\FileStorage


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


Заливаешь, парнишша.

"обычным путём до физической папки" является
ДИСК:\...

а эта хрень
\\WEBSERVA.o3.ru\SQLSERVA\FileStorage\FileStorage
сугубо виртуальна.

ЗЫ. Для сведения страждущих - моя FileTable благополучно работает.
20 окт 17, 06:08    [20884383]     Ответить | Цитировать Сообщить модератору
 Re: Таблицы FileTable  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7383
Хранилище файлов - это виртуальная шара, никакой не диск. Из-за этого у меня были нравственные страдания, потому что надеялся локально его увидеть.
20 окт 17, 12:31    [20885440]     Ответить | Цитировать Сообщить модератору
 Re: Таблицы FileTable  [new]
sposad
Member

Откуда:
Сообщений: 62192
Попрошусь в компанию тоже:)
Провернул
alter database CDS 
add filegroup FileStreamGroup contains filestream;
go

alter database CDS
 add file ( NAME = 'fsCDS', FILENAME = 'C:\FILES\FS' ) to filegroup FileStreamGroup;
go

alter database CDS
   SET FILESTREAM ( NON_TRANSACTED_ACCESS = FULL, DIRECTORY_NAME = N'FS' ) WITH NO_WAIT;  
go
use [CDS]

CREATE TABLE dbo.Documents AS FILETABLE
  WITH
  ( FILETABLE_DIRECTORY = 'Documents',
    FILETABLE_COLLATE_FILENAME = database_default
  )
go

Папки создались


SELECT DB_NAME ( database_id ) as databasename, directory_name, *  
    FROM sys.database_filestream_options
    where database_id = DB_ID('CDS'); 

даёт
databasename	directory_name	database_id	non_transacted_access	non_transacted_access_desc	directory_name
CDS	              FS	          8	              2          	FULL	                   FS

Запихал в папку файлы, но
SELECT *  FROM [CDS].dbo.Documents

Выдаёт пустую таблицу. Куда копать далее?
28 сен 18, 22:45    [21689614]     Ответить | Цитировать Сообщить модератору
 Re: Таблицы FileTable  [new]
PizzaPizza
Member

Откуда:
Сообщений: 309
Клевая штука, кстати. Чего только нет в сервере.

In other words, you can store files and documents in special tables in SQL Server called FileTables, but access them from Windows applications as if they were stored in the file system, without making any changes to your client applications.

Если я правильно понял, то можно внутри сервера создать свою файловую систему и выдавать оттуда файлы для приложений полностью имитируя ФС винды.

Даже интересно зачем людям такая глубокая инкапсуляция может быть нужна.
29 сен 18, 02:29    [21689705]     Ответить | Цитировать Сообщить модератору
 Re: Таблицы FileTable  [new]
Ennor Tiegael
Member

Откуда:
Сообщений: 3141
PizzaPizza
Клевая штука, кстати. Чего только нет в сервере.

In other words, you can store files and documents in special tables in SQL Server called FileTables, but access them from Windows applications as if they were stored in the file system, without making any changes to your client applications.

Если я правильно понял, то можно внутри сервера создать свою файловую систему и выдавать оттуда файлы для приложений полностью имитируя ФС винды.

Даже интересно зачем людям такая глубокая инкапсуляция может быть нужна.
Нет, неправильно поняли. Файлы хранятся на диске, в обычной папке, куда старые приложения могут иметь доступ как к обычной шаре.
29 сен 18, 08:25    [21689732]     Ответить | Цитировать Сообщить модератору
 Re: Таблицы FileTable  [new]
PizzaPizza
Member

Откуда:
Сообщений: 309
Ennor Tiegael
Нет, неправильно поняли. Файлы хранятся на диске, в обычной папке, куда старые приложения могут иметь доступ как к обычной шаре.


"store files and documents in special tables in SQL Server"

Вот это смущает. Но видимо пока сам не попробуешь не поймёшь как оно работает. По вашему описанию SQL просто прокладка для создания шары, наверное непосредственно через sql-соединение. Типа что бы не прокидывать отдельную шару на удаленные клиенты.
29 сен 18, 21:06    [21690066]     Ответить | Цитировать Сообщить модератору
 Re: Таблицы FileTable  [new]
Ennor Tiegael
Member

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

Это метаданные хранятся в специальных таблицах. Сами файлы лежат на диске.
Вот тут вполне однозначно расписывается. И пример даже есть:
CREATE TABLE DocumentStore AS FileTable  
    WITH (   
          FileTable_Directory = 'DocumentTable',  
          FileTable_Collate_Filename = database_default  
         );
30 сен 18, 06:11    [21690211]     Ответить | Цитировать Сообщить модератору
 Re: Таблицы FileTable  [new]
aleks222
Member

Откуда:
Сообщений: 847
sposad
Запихал в папку файлы, но
SELECT *  FROM [CDS].dbo.Documents

Выдаёт пустую таблицу. Куда копать далее?


Сначала сказать "в какую папку файлы пихал"?

Пихать то надоть (если со стороны файловой системы) в

\\SQLSERVERNAME\FS\Documents
30 сен 18, 13:10    [21690345]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить