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

Откуда:
Сообщений: 5
Коллеги.
Суть проблемы в следующем:

В таблице, в поле типа image лежат документы MS Word. Задача: при получении word файла из БД необходимо в колонтитул страницы вставлять фразу "получено [дата] и [число]". Решил сделать следующее:
хранимая процедура сохраняет данные из поля в файл на диске, потом файл открывается в Word, делаются изменения, и файл записывается во временную таблицу.

попробовал написать хранимую процедуру на C#, его не знаю, но тем не менее.
C# все время ругается на стрoку:
uses Microsoft.Office.Interop.Word

Как обойти это - не нашел.

Решил сделать по другому:
написал DLL, где реализована работа с Word. Когда вызываю DLL из Windows Application, все работает.

на C# реализовал хранимую процедуру, которая вызывает данную DLL.
Тестирую на SQL Server (запущен с правами локального сервиса), процедура все время завершается исключением.
добавил отладочных сообщений в DLL.

сообщения показали:
что word запускается, документ открывается. А когда начинается работа с заменом текста. Word возвращает ошибку, что ни одного документа не открыто.

запустил SQL Server под учетной записью администратора, ошибка таже самая, только хранимая процедура зависает. Word запускается и дает нагрузку на процессор 100%. Ждал 5 часов, результата не было.

Бьюс над проблемой почти неделю, в интернете ничего не нашел. Помогите хотя бы советом.

тескт dll (Delphi)
ActiveX.CoInitialize(nil);
FWordApplication := ComObj.CreateOleObject('Word.Application');
FWordApplication.Visible := false;

FWordApplication.Documents.Open(szFileName); 
если Open заменить на Add
FWordApplication.Documents.Add(szFileName)
появляется ошибка "Ошибка Word"

FWordApplication.ActiveDocument.ActiveWindow.View.SeekView := wdSeekCurrentPageFooter;
//вот здесь появляется ошибка, что ни один документ не загружен
FWordApplication.Selection.Find.ClearFormatting;
...
16 дек 09, 11:38    [8073835]     Ответить | Цитировать Сообщить модератору
 Расширенная хранимая процедура и MS Word  [new]
hot_shot
Member

Откуда:
Сообщений: 5
Забыл добавить

SQL Server 2008
16 дек 09, 12:12    [8074274]     Ответить | Цитировать Сообщить модератору
 Re: Расширенная хранимая процедура и MS Word  [new]
hot_shot
Member

Откуда:
Сообщений: 5
Выяснил природу сообщений о том, что ни один документ не загружен.
По всей видимости процесс Microsoft Word запускается без привилегий работы с диском.

Коллеги, может кто-нибудь знает как обойти эту проблему?
18 дек 09, 08:38    [8084171]     Ответить | Цитировать Сообщить модератору
 Re: Расширенная хранимая процедура и MS Word  [new]
Glory
Member

Откуда:
Сообщений: 104760
hot_shot
Выяснил природу сообщений о том, что ни один документ не загружен.
По всей видимости процесс Microsoft Word запускается без привилегий работы с диском.

Коллеги, может кто-нибудь знает как обойти эту проблему?

Наверное надо дать учетной записи, под которой запускается ваша процедура нужные права
18 дек 09, 10:14    [8084660]     Ответить | Цитировать Сообщить модератору
 Re: Расширенная хранимая процедура и MS Word  [new]
hot_shot
Member

Откуда:
Сообщений: 5
Glory
hot_shot
Выяснил природу сообщений о том, что ни один документ не загружен.
По всей видимости процесс Microsoft Word запускается без привилегий работы с диском.

Коллеги, может кто-нибудь знает как обойти эту проблему?

Наверное надо дать учетной записи, под которой запускается ваша процедура нужные права


SQL Server запускается под учетной записью Администртора, а не локального сервиса
18 дек 09, 10:25    [8084754]     Ответить | Цитировать Сообщить модератору
 Re: Расширенная хранимая процедура и MS Word  [new]
Glory
Member

Откуда:
Сообщений: 104760
hot_shot
Glory
hot_shot
Выяснил природу сообщений о том, что ни один документ не загружен.
По всей видимости процесс Microsoft Word запускается без привилегий работы с диском.

Коллеги, может кто-нибудь знает как обойти эту проблему?

Наверное надо дать учетной записи, под которой запускается ваша процедура нужные права


SQL Server запускается под учетной записью Администртора, а не локального сервиса

Значит и ваша расширенная хранимая процедура запускается под этой учетной записью
18 дек 09, 10:26    [8084775]     Ответить | Цитировать Сообщить модератору
 Re: Расширенная хранимая процедура и MS Word  [new]
hot_shot
Member

Откуда:
Сообщений: 5
Glory
hot_shot
Выяснил природу сообщений о том, что ни один документ не загружен.
По всей видимости процесс Microsoft Word запускается без привилегий работы с диском.

Коллеги, может кто-нибудь знает как обойти эту проблему?

Наверное надо дать учетной записи, под которой запускается ваша процедура нужные права


Кроме того, писать и читать текстовые файлы получается без всяких проблем. Проблема только с Word
18 дек 09, 10:30    [8084807]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить