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

Откуда:
Сообщений: 80
Коллеги, добрый день.

Есть задача от HR. Надо создать автоматическую процедуру рассылки по электронной почте файлов формата Word. Файл Word - это документ, созданный из шаблона Word, в который вставляются данные на основе некоей выборки из базы с MS SQL Server 2012 (ФИО сотрудника, Дата, количество дней и т.п).
Собрать данные из базы я могу и знаю как. Вопрос в том, как из SQL Server подключиться к MS Word, сгенерировать результирующий файл. Отправить файл тоже могу.
Знаю как заполнить шаблон Word из С# и отправить его получателю. Но как связать эти 2 знанию между собой, чтобы это все работало, например в job'e, автоматически заполняя шаблон Word данными и отсылаю его сотруднику, мыслей нет. Прошу подкинуть идейку, подсказать в каком направлении двигаться.

Заранее всем спасибо.
2 апр 19, 09:58    [21849732]     Ответить | Цитировать Сообщить модератору
 Re: SQL и Word  [new]
iiyama
Member

Откуда:
Сообщений: 642
densmile,
SSIS+ Script Component
2 апр 19, 10:05    [21849738]     Ответить | Цитировать Сообщить модератору
 Re: SQL и Word  [new]
dvim
Member

Откуда: Санкт Петербург
Сообщений: 679
densmile,
По мне так верный вариант - ReportServer
Другое дело, что 1 в 1 вы шаблон не получите... но тут надо просто договориться.

Из плюсов - простота и стабильность.
ReportServer есть в поставке, там есть и рассылки и формирования Word
2 апр 19, 10:16    [21849749]     Ответить | Цитировать Сообщить модератору
 Re: SQL и Word  [new]
densmile
Member

Откуда:
Сообщений: 80
Что-то ReportServer мне не очень, так как это не совсем отчет. Это часть процесса. Эта часть должна отправлять в автоматическом режиме сформированные документы сотрудникам.
2 апр 19, 10:57    [21849779]     Ответить | Цитировать Сообщить модератору
 Re: SQL и Word  [new]
Руслан Дамирович
Member

Откуда: Резиновая нерезиновая
Сообщений: 940
densmile
Коллеги, добрый день.
Есть задача от HR. Надо создать автоматическую процедуру рассылки по электронной почте файлов формата Word.
Заранее всем спасибо.

Задача от HR, дата, количество дней - централизованная рассылка отпусков скорее всего, или ЗП.
Обычно пользователи хотят того, что умеют, а не того, что дает такой же результат, но гораздо проще.

Я бы предложил sp_send_dbmail в формате HTML.
Как-то так, но давно не баловался.
DECLARE @body NVARCHAR(MAX)
;
SET @body = '
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
   "http://www.w3.org/TR/html4/strict.dtd">
<HTML>
   <HEAD>
      <TITLE>Документ от HR</TITLE>
   </HEAD>
   <BODY>
      <P>Привет, Имярек!</P>
   </BODY>
</HTML>
'
;
EXEC msdb.dbo.sp_send_dbmail
  @profile_name = 'abc',
  @recipients = 'recipients@company.com',
  @subject = 'somesubject',
  @body=@body,
  @body_format='HTML',
  @importance='Normal',
  @sensitivity='Personal'
;
2 апр 19, 11:02    [21849784]     Ответить | Цитировать Сообщить модератору
 Re: SQL и Word  [new]
densmile
Member

Откуда:
Сообщений: 80
Руслан Дамирович,

угадали. Рассылка по отпускам. Только надо вложить word-файл, чтобы сотрудник его могу распечатать, подписать и вернуть в HR.
2 апр 19, 11:26    [21849815]     Ответить | Цитировать Сообщить модератору
 Re: SQL и Word  [new]
Руслан Дамирович
Member

Откуда: Резиновая нерезиновая
Сообщений: 940
densmile
Только надо вложить word-файл, чтобы сотрудник его мог распечатать, подписать и вернуть в HR.

Тогда печаль, много трудов и мало смысла
21849738 в помощь
2 апр 19, 11:32    [21849820]     Ответить | Цитировать Сообщить модератору
 Re: SQL и Word  [new]
Massa52
Member

Откуда:
Сообщений: 379
densmile,
Пару лет назад пришлось писать консольное приложение на с#, использующее шаблон из ReportServer.
Только на выходе был PDF. Там и ворд кажись был.
Запускалось приложение по рассписанию, каждые 5 минут и если находило в базе данные для рассылки тревог, то отправляла по мылу PDF файл с тревогами. Если погуглить, то без проблем можно найти шаблон такого приложения.
2 апр 19, 11:48    [21849828]     Ответить | Цитировать Сообщить модератору
 Re: SQL и Word  [new]
densmile
Member

Откуда:
Сообщений: 80
Руслан Дамирович,

как я понял труда будет много. Смысл конечно есть, но...
С пакетом SSIS тоже не все просто. Версии библиотеки Word и FrameWorka разные. При подключении в проект выдает предупреждение. Библиотека Microsoft Word 14, а Framework только 4. Похоже здесь нестыковка идет.
Как соединить их пока не знаю. Надо копать.
2 апр 19, 11:50    [21849833]     Ответить | Цитировать Сообщить модератору
 Re: SQL и Word  [new]
densmile
Member

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

А это может сработать. Спасибо за идею.
Если консолька работает с Word без проблем, то можно будет попробовать.
А из какого шедулера запускалась из SQL или Windows?
2 апр 19, 11:53    [21849840]     Ответить | Цитировать Сообщить модератору
 Re: SQL и Word  [new]
Massa52
Member

Откуда:
Сообщений: 379
densmile,
Из виндового.
https://yandex.ru/search/?text=Отчет rdlc для рассылки c#&lr=20774
2 апр 19, 12:04    [21849866]     Ответить | Цитировать Сообщить модератору
 Re: SQL и Word  [new]
Massa52
Member

Откуда:
Сообщений: 379
Massa52,
Консолка исползует windows form библиотеки.
В спойлере содержимое папки получаемого консольного приложения.
+

24/05/2016 02:23 PM 181,248 xxxxxReport.exe
24/05/2016 02:07 PM 2,012 xxxxxReport.exe.config
24/05/2016 02:23 PM 159,232 xxxxxReport.pdb
19/08/2016 12:15 PM 22,696 xxxxxReport.vshost.exe
24/05/2016 02:07 PM 2,012 xxxxxxReport.vshost.exe.config
30/10/2015 05:49 PM 490 xxxxxReport.vshost.exe.manifest
02/12/2015 04:00 PM 42,155 Data.Designer.cs
30/11/2015 02:11 PM 37,564 Data.xml
02/12/2015 04:00 PM 3 Data.xsc
30/11/2015 02:32 PM 1,238 Data.xsd
02/12/2015 04:00 PM 3 Data.xss
22/10/2009 07:51 PM 245,760 EnvDTE.dll
22/10/2009 07:51 PM 135,168 EnvDTE80.dll
16/11/2018 09:09 PM <DIR> logs
20/09/2015 04:22 PM 69,632 Microsoft.MSXML.dll
21/03/2014 12:36 PM 8,740,464 Microsoft.ReportViewer.Common.dll
21/03/2014 12:36 PM 5,422,704 Microsoft.ReportViewer.DataVisualization.DLL
21/03/2014 12:36 PM 102,000 Microsoft.ReportViewer.Design.DLL
21/03/2014 12:36 PM 126,568 Microsoft.ReportViewer.ProcessingObjectModel.dll
21/03/2014 12:36 PM 110,184 Microsoft.ReportViewer.WebDesign.dll
21/03/2014 12:36 PM 1,875,568 Microsoft.ReportViewer.WebForms.dll
21/03/2014 12:36 PM 564,848 Microsoft.ReportViewer.WinForms.DLL
16/12/2014 03:20 PM 384,112 Microsoft.SqlServer.Types.dll
18/03/2010 11:21 PM 28,048 Microsoft.VisualStudio.ComponentModelHost.dll
20/09/2015 06:51 PM 29,736 Microsoft.VisualStudio.Data.Core.dll
04/03/2016 08:51 PM 53,195 Microsoft.VisualStudio.Data.Core.xml
20/09/2015 06:51 PM 216,632 Microsoft.VisualStudio.Data.Services.dll
04/03/2016 08:51 PM 325,435 Microsoft.VisualStudio.Data.Services.xml
20/09/2015 06:19 PM 126,976 Microsoft.VisualStudio.Debugger.InteropA.dll
20/09/2015 06:49 PM 24,800 Microsoft.VisualStudio.Designer.Interfaces.dll
04/03/2016 08:51 PM 13,971 Microsoft.VisualStudio.Designer.Interfaces.xml
20/09/2015 06:30 PM 48,896 Microsoft.VisualStudio.ManagedInterfaces.dll
04/03/2016 08:51 PM 25,642 Microsoft.VisualStudio.ManagedInterfaces.xml
20/09/2015 06:20 PM 118,784 Microsoft.VisualStudio.OLE.Interop.dll
04/03/2016 08:51 PM 442,871 Microsoft.VisualStudio.OLE.Interop.xml
23/03/2016 12:22 AM 20,264 Microsoft.VisualStudio.ProjectAggregator.dll
04/03/2016 08:51 PM 1,178 Microsoft.VisualStudio.ProjectAggregator.xml
23/03/2016 12:22 AM 25,392 Microsoft.VisualStudio.Shell.Immutable.10.0.dll
04/03/2016 08:51 PM 9,195 Microsoft.VisualStudio.Shell.Immutable.10.0.xml
20/09/2015 06:20 PM 75,664 Microsoft.VisualStudio.Shell.Interop.10.0.dll
04/03/2016 08:51 PM 366,911 Microsoft.VisualStudio.Shell.Interop.10.0.xml
20/09/2015 06:20 PM 172,032 Microsoft.VisualStudio.Shell.Interop.8.0.dll
04/03/2016 08:51 PM 962,307 Microsoft.VisualStudio.Shell.Interop.8.0.xml
20/09/2015 06:20 PM 40,960 Microsoft.VisualStudio.Shell.Interop.9.0.dll
04/03/2016 08:51 PM 128,845 Microsoft.VisualStudio.Shell.Interop.9.0.xml
20/09/2015 06:20 PM 259,152 Microsoft.VisualStudio.Shell.Interop.dll
04/03/2016 08:51 PM 1,724,359 Microsoft.VisualStudio.Shell.Interop.xml
30/05/2015 12:09 PM 15,872 Microsoft.VisualStudio.TemplateWizardInterface.dll
18/06/2015 01:30 PM 11,394 Microsoft.VisualStudio.TemplateWizardInterface.xml
20/09/2015 06:20 PM 11,168 Microsoft.VisualStudio.TextManager.Interop.10.0.dll
04/03/2016 08:51 PM 6,023 Microsoft.VisualStudio.TextManager.Interop.10.0.xml
20/09/2015 06:20 PM 57,344 Microsoft.VisualStudio.TextManager.Interop.8.0.dll
04/03/2016 08:51 PM 324,254 Microsoft.VisualStudio.TextManager.Interop.8.0.xml
20/09/2015 06:20 PM 114,688 Microsoft.VisualStudio.TextManager.Interop.dll
04/03/2016 08:51 PM 829,861 Microsoft.VisualStudio.TextManager.Interop.xml
19/11/2015 09:31 PM 27,384 Microsoft.VisualStudio.VSHelp.dll
20/09/2015 06:49 PM 44,848 Microsoft.VisualStudio.WCFReference.Interop.dll
04/03/2016 08:51 PM 104,144 Microsoft.VisualStudio.WCFReference.Interop.xml
21/02/2011 04:04 PM 121,736 Microsoft.Windows.Design.Extensibility.dll
08/11/2009 09:04 PM 94,534 Microsoft.Windows.Design.Extensibility.xml
21/02/2011 04:04 PM 416,648 Microsoft.Windows.Design.Interaction.dll
10/01/2010 10:09 PM 545,939 Microsoft.Windows.Design.Interaction.xml
09/09/2015 12:26 PM 1,162 NLog.config
28/04/2016 11:38 PM 525,824 NLog.dll
28/04/2016 11:38 PM 1,223,592 NLog.xml
29/04/2016 12:08 PM 65,867 Report.rdlc
30/11/2015 02:14 PM 43,883 ReportDemo.rdlc
16/11/2018 09:09 PM <DIR> SqlServerTypes
07/07/2015 12:51 AM 32,416 stdole.dll
18/03/2010 11:21 PM 59,216 VSLangProj.dll
18/03/2010 11:21 PM 25,944 VSLangProj2.dll
22/10/2009 07:51 PM 73,728 VSLangProj80.dll
2 апр 19, 12:13    [21849881]     Ответить | Цитировать Сообщить модератору
 Re: SQL и Word  [new]
densmile
Member

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

Спасибо. Буду пробовать
2 апр 19, 13:51    [21850043]     Ответить | Цитировать Сообщить модератору
 Re: SQL и Word  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4730
iiyama
densmile,
SSIS+ Script Component


https://www.google.com/search?newwindow=1&rlz=1C1GCEB_ruRU832RU832&ei=bEijXL_QI6WyrgT8p4DoBw&q=openxml c# word&oq=openxml&gs_l=psy-ab.1.3.0i71l8.0.0..9451...0.0..0.0.0.......0......gws-wiz.UfpVzi3dCJA
2 апр 19, 14:40    [21850102]     Ответить | Цитировать Сообщить модератору
 Re: SQL и Word  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31356
densmile
Собрать данные из базы я могу и знаю как. Вопрос в том, как из SQL Server подключиться к MS Word, сгенерировать результирующий файл. Отправить файл тоже могу.
Знаю как заполнить шаблон Word из С# и отправить его получателю. Но как связать эти 2 знанию между собой, чтобы это все работало, например в job'e, автоматически заполняя шаблон Word данными и отсылаю его сотруднику, мыслей нет.
В смысле "как связать"? Ставите вызов написанной вами на С# программы в джоб, и всё, "связано", работы на 10 секунд.

Можно тот же код на С# нависать как Scrip Task в SSIS, но это будет сложнее.
2 апр 19, 14:43    [21850110]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить