Регулярные выражения разработаны к образцовым шаблонам в одном размере. Насколько я понимаю Вы хотите соответствовать шаблонам в двумерной матрице символов.
можно ли использовать регулярные выражения? Это зависит от того, является ли свойство, которое Вы ищете, разложимым в компоненты, которые могут быть подобраны в одном размере или нет. Если так, можно выполнить регулярные выражения на столбцах и строках, и искать пересечения в наборах решения от тех. В зависимости от конкретной проблемы Вы имеете, это может или решить проблему, или она может найти области в Вашем 2-м массиве, которые, вероятно, будут решениями.
, Является ли Ваша проблема разложимой или нет, я думаю, пишущий, что некоторый пользовательский код будет неизбежен. Но по крайней мере это походит на интересную проблему, таким образом, работа должна быть приятной.
Я пробовал использовать опцию @attach_query_result_as_file, но нет способа записать этот запрос в двоичном формате, чтобы я мог заставить его работать. Итак, следующий вариант - использовать bcp для временного файла, а затем прикрепить файл.
DECLARE @sql VARCHAR(1000)
SET @sql = 'BCP "SELECT ImageColumn FROM YourTable where id = 1 " QUERYOUT C:\TEMP\MyLogo.gif -T -fC:\TEMP\bcpFormat.fmt -S ' + @@SERVERNAME
EXEC master.dbo.xp_CmdShell @sql
exec msdb.dbo.sp_send_dbmail
@profile_name = 'MyProfile',
@recipients = 'bob@hotmail.com',
@subject = 'test as image',
@body=N'<p>Image Test</p><img src="MyLogo.gif" /><p>See image there?</p>',
@file_attachments = 'C:\TEMP\MyLogo.gif',
@body_format = 'HTML';
bcpFormat.fmt будет выглядеть так:
8.0
1
1 SQLIMAGE 0 0 "" 1 Image ""
Это будет прикреплять изображение из вашей базы данных к электронному письму в виде файла. Он по-прежнему не будет отображать его «встроенным», так как потребуется немного поработать, чтобы mime закодировать изображение в теле письма и сослаться на него из вашего html. Вам также потребуется создать несколько уникальных имен для ваших файлов и очистки, чтобы несколько процессов не наступали друг на друга.
В этой статье объясняется, как можно использовать хранимые процессы автоматизации OLE SQL Server (которые позволяют создавать и использовать объекты на основе COM через T-SQL) для создания файла.
Возможна ли хранимая процедура SQL CLR (.NET)? При этом не возникнет проблем с сохранением данных из поля большого двоичного объекта во временный файл на диске.
Я думаю, что комментарий madC - лучшее решение. Вы также можете попробовать использовать что-то вроде этого:
INSERT INTO OPENROWSET ('BULK', '', BULK_BLOB) ...
но с моей стороны потребовались следующие дополнительные шаги:
sp_configure 'show advanced options', 1
reconfigure with override
sp_configure 'Ad Hoc Distributed Queries', 1
reconfigure with override
И после этого результат из INSERT было:
Msg 7302, Level 16, State 1, Line 1
Cannot create an instance of OLE DB provider "BULK" for linked server "(null)".
Возможно, вы сможете найти идею, как заставить его работать.