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

Откуда: Kazan
Сообщений: 46
Добрый день.
Необходимо "срочно и вчера" перелопатить кучу сохраненных в varbinary(max) Файлов RTF (выудить из них инфу)
Нашла на форуме пример
create function dbo.RTF2TXT(@in varchar(8000)) RETURNS varchar(8000) AS 
BEGIN

DECLARE @object int
DECLARE @hr int
DECLARE @out varchar(8000)

-- Create an object that points to the SQL Server
EXEC @hr = sp_OACreate 'RICHTEXT.RichtextCtrl', @object OUT
EXEC @hr = sp_OASetProperty @object, 'TextRTF', @in
EXEC @hr = sp_OAGetProperty @object, 'Text', @out OUT
EXEC @hr = sp_OADestroy @object
return @out

END
GO


версия SQL Server:
Microsoft SQL Server 2008 R2 (SP2) - 10.50.4000.0 (X64) Jun 28 2012 08:36:30 Copyright (c) Microsoft Corporation Developer Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1) (Hypervisor)

'Ole Automation Procedures' = 1

Не получается вызвать sp_OACreate 'RICHTEXT.RichtextCtrl', выдает @hr
OLE Automation Error Information
  HRESULT: 0x800401F3
  Source: ODSOLE Extended Procedure
  Description:  Invalid class string


Не находит 'RICHTEXT.RichtextCtrl' ? А что это за компонент и как его "найти"?
17 окт 17, 10:19    [20874930]     Ответить | Цитировать Сообщить модератору
 Re: sp_OACreate 'RICHTEXT.RichtextCtrl' не создается объект.  [new]
Владислав Колосов
Member

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

использовать OLE механизм следует только в случае, если нет другой возможности. Попробуйте найти внешние конвертеры RTF-Txt,
напишите простое приложение (любой скриптовый язык - VBS, JS, Power Shell) для извлечения и преобразования данных.
17 окт 17, 11:35    [20875267]     Ответить | Цитировать Сообщить модератору
 Re: sp_OACreate 'RICHTEXT.RichtextCtrl' не создается объект.  [new]
Ролг Хупин
Member

Откуда: Чебаркуль
Сообщений: 3658
Владислав Колосов
gnatochka,

использовать OLE механизм следует только в случае, если нет другой возможности. Попробуйте найти внешние конвертеры RTF-Txt,
напишите простое приложение (любой скриптовый язык - VBS, JS, Power Shell) для извлечения и преобразования данных.


+ я бы сделал SQLCLR функцию вместо извращений с созданием RICHTEXT.RichtextCtrl
17 окт 17, 11:44    [20875315]     Ответить | Цитировать Сообщить модератору
 Re: sp_OACreate 'RICHTEXT.RichtextCtrl' не создается объект.  [new]
Ролг Хупин
Member

Откуда: Чебаркуль
Сообщений: 3658
Ролг Хупин
Владислав Колосов
gnatochka,

использовать OLE механизм следует только в случае, если нет другой возможности. Попробуйте найти внешние конвертеры RTF-Txt,
напишите простое приложение (любой скриптовый язык - VBS, JS, Power Shell) для извлечения и преобразования данных.


+ я бы сделал SQLCLR функцию вместо извращений с созданием RICHTEXT.RichtextCtrl


точнее: я такое когда-то и делал, была точно такая же задача.
17 окт 17, 11:49    [20875341]     Ответить | Цитировать Сообщить модератору
 Re: sp_OACreate 'RICHTEXT.RichtextCtrl' не создается объект.  [new]
gnatochka
Member

Откуда: Kazan
Сообщений: 46
Владислав Колосов
gnatochka,

использовать OLE механизм следует только в случае, если нет другой возможности. Попробуйте найти внешние конвертеры RTF-Txt,
напишите простое приложение (любой скриптовый язык - VBS, JS, Power Shell) для извлечения и преобразования данных.


Спасибо.
Пока так и извращаюсь , скинула на диск все скопом- преобразовала внешним конвертором в txt и обрабатываю полученные txt. Но это как-то кривовато :/
думала можно проще.
17 окт 17, 11:54    [20875367]     Ответить | Цитировать Сообщить модератору
 Re: sp_OACreate 'RICHTEXT.RichtextCtrl' не создается объект.  [new]
gnatochka
Member

Откуда: Kazan
Сообщений: 46
Ролг Хупин,
Научите меня писать CLRSQL :)) Надо конечно ... но :( Как то так сложилось, что вечно с закрытыми клиентами работаю ... И опыт в основном только со стороны SQL Server.
Будет время покопаюсь научусь, а сейчас пыталась найти быстрое решение :)
Спасибо.
17 окт 17, 11:59    [20875402]     Ответить | Цитировать Сообщить модератору
 Re: sp_OACreate 'RICHTEXT.RichtextCtrl' не создается объект.  [new]
Ролг Хупин
Member

Откуда: Чебаркуль
Сообщений: 3658
gnatochka
Ролг Хупин,
Научите меня писать CLRSQL :)) Надо конечно ... но :( Как то так сложилось, что вечно с закрытыми клиентами работаю ... И опыт в основном только со стороны SQL Server.
Будет время покопаюсь научусь, а сейчас пыталась найти быстрое решение :)
Спасибо.


учу:
Вариант А:
1. установите VS 2017, она бесплатна
2. найдите пример, как написать такую функцию, их много в интернете
3. сделайте и загрузите, вы получите такое удовольствие, какого возможно...

Вариант Б:
1. найдите программиста и пусть напишет, заплатите как-то, можно и деньгами
18 окт 17, 09:03    [20877929]     Ответить | Цитировать Сообщить модератору
 Re: sp_OACreate 'RICHTEXT.RichtextCtrl' не создается объект.  [new]
Andy_OLAP
Member

Откуда: я знаю, что Хапоэль Беэр-Шева - чемпион
Сообщений: 3151
gnatochka
Не находит 'RICHTEXT.RichtextCtrl' ? А что это за компонент и как его "найти"?

windows x64 и RichTx32.ocx x86
Не забывать выключить UAC
18 окт 17, 09:52    [20878030]     Ответить | Цитировать Сообщить модератору
 Re: sp_OACreate 'RICHTEXT.RichtextCtrl' не создается объект.  [new]
Andy_OLAP
Member

Откуда: я знаю, что Хапоэль Беэр-Шева - чемпион
Сообщений: 3151
gnatochka
а сейчас пыталась найти быстрое решение :)

"Description: Invalid class string" - вот это или ситуация, когда компонент лезет в ветку реестра, а Windows дает ему по рукам и говорит "ай-яй, прав то нету", или когда на x64 компе идет попытка задействовать x86 компонент, которые Microsoft целеустремленно и неуклонно выпиливает (в чем-чем, а в этом я их в этом полностью поддерживаю).
18 окт 17, 09:57    [20878053]     Ответить | Цитировать Сообщить модератору
 Re: sp_OACreate 'RICHTEXT.RichtextCtrl' не создается объект.  [new]
Ролг Хупин
Member

Откуда: Чебаркуль
Сообщений: 3658
Вот вам T-SQL функции: с и без извращений с контролом

https://www.codeproject.com/Tips/821281/Convert-RTF-to-Plain-Text-Revised-Again
18 окт 17, 11:12    [20878358]     Ответить | Цитировать Сообщить модератору
 Re: sp_OACreate 'RICHTEXT.RichtextCtrl' не создается объект.  [new]
Критик
Member

Откуда: Москва / Калуга
Сообщений: 33489
Блог
gnatochka,

у вас единичный поиск?
переоложить в varchar(max)+полнотекстовой индекс
18 окт 17, 17:50    [20879943]     Ответить | Цитировать Сообщить модератору
 Re: sp_OACreate 'RICHTEXT.RichtextCtrl' не создается объект.  [new]
gnatochka
Member

Откуда: Kazan
Сообщений: 46
Ролг Хупин, Функцию, ссылку на которую вы кинули я видела и тоже пробовала до того как написать в форум:(
извините,не хотела йорничать ... сама давно хочу найти время "по разбираться с clr" и VS Express стоит :( А руки не доходят. Тут скорее на себя злость сработала ... Надо! Уже не в первый раз необходимость возникает. Но как "обойду" в очередной раз до следующей "необходимости" благополучно откладываю.

Всем, откликнувшимся, огромное спасибо!
Обошла "полуавтоматическим":)) способом (скинула на диск, конвертнула сторонним конвертором и залила уже txt на сервер для обработки)
задача была разовая и очень срочно.

По поводу OLE на сервере - поняла, постараюсь таки с VS подружится :)
2 ноя 17, 16:17    [20922477]     Ответить | Цитировать Сообщить модератору
 Re: sp_OACreate 'RICHTEXT.RichtextCtrl' не создается объект.  [new]
Ролг Хупин
Member

Откуда: Чебаркуль
Сообщений: 3658
gnatochka
Ролг Хупин, Функцию, ссылку на которую вы кинули я видела и тоже пробовала до того как написать в форум:(
извините,не хотела йорничать ... сама давно хочу найти время "по разбираться с clr" и VS Express стоит :( А руки не доходят. Тут скорее на себя злость сработала ... Надо! Уже не в первый раз необходимость возникает. Но как "обойду" в очередной раз до следующей "необходимости" благополучно откладываю.

Всем, откликнувшимся, огромное спасибо!
Обошла "полуавтоматическим":)) способом (скинула на диск, конвертнула сторонним конвертором и залила уже txt на сервер для обработки)
задача была разовая и очень срочно.

По поводу OLE на сервере - поняла, постараюсь таки с VS подружится :)


Уберите VS Express , поставьте полноценную VS2017 community edition и дерзайте уже!
2 ноя 17, 17:00    [20922569]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить