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

Откуда: Київ
Сообщений: 10428
поле типа ntext, в нем хранится содержимое RTF файлов.
Мне нужен чистый текст для FT поиска в нем.

Как в триггере взять только текст из этого поля и вставить его в другую таблицу?
18 июн 09, 10:36    [7314080]     Ответить | Цитировать Сообщить модератору
 Re: в поле хранится RTF, как взять текст?  [new]
andy st
Member

Откуда:
Сообщений: 796
Winnipuh
поле типа ntext, в нем хранится содержимое RTF файлов.
Мне нужен чистый текст для FT поиска в нем.

Как в триггере взять только текст из этого поля и вставить его в другую таблицу?

вероятнее всего только с использованием внешнего перекодировщика rtf в текст
18 июн 09, 10:48    [7314141]     Ответить | Цитировать Сообщить модератору
 Re: в поле хранится RTF, как взять текст?  [new]
Bobby
Member

Откуда:
Сообщений: 627
Winnipuh,
Выдергивал внешним приложением (на дельфях). Все нормально отображалось
18 июн 09, 10:52    [7314171]     Ответить | Цитировать Сообщить модератору
 Re: в поле хранится RTF, как взять текст?  [new]
Glory
Member

Откуда:
Сообщений: 104760
Winnipuh
поле типа ntext, в нем хранится содержимое RTF файлов.
Мне нужен чистый текст для FT поиска в нем.

Хм. А зачем, если FT умеет работать и с RTF-ми ?
18 июн 09, 11:21    [7314340]     Ответить | Цитировать Сообщить модератору
 Re: в поле хранится RTF, как взять текст?  [new]
Winnipuh
Member [заблокирован]

Откуда: Київ
Сообщений: 10428
Glory
Winnipuh
поле типа ntext, в нем хранится содержимое RTF файлов.
Мне нужен чистый текст для FT поиска в нем.

Хм. А зачем, если FT умеет работать и с RTF-ми ?


да, согласен, но у меня все поля для индексирования и поиска находятся в одной общей таблице, тип поля ntext.
Источники разные, потому только часть записей в этих полях является RTF.
18 июн 09, 12:30    [7314818]     Ответить | Цитировать Сообщить модератору
 Re: в поле хранится RTF, как взять текст?  [new]
Glory
Member

Откуда:
Сообщений: 104760
И что дальше то ?

Use the sys.fulltext_document_types catalog view to identify the list of filters included in an instance of Microsoft SQL Server 2005.Many document types can be stored in a single varbinary(max), or image column. For each document, SQL Server chooses the correct filter based on the file extension. Because the file extension is not visible when the file is stored in a varbinary(max), or image column, the file extension must be stored in a separate column in the table, called a type column. This type column can be of any character-based data type and contains the document file extension, such as .doc for a Microsoft Word document. In the Document table in Adventure Works, the Document column is of type varbinary(max), and the FileExtension column is of type nvarchar(8). For more information on the schema of this table, see Document Table (AdventureWorks).
18 июн 09, 12:37    [7314863]     Ответить | Цитировать Сообщить модератору
 Re: в поле хранится RTF, как взять текст?  [new]
Winnipuh
Member [заблокирован]

Откуда: Київ
Сообщений: 10428
Glory
И что дальше то ?

Use the sys.fulltext_document_types catalog view to identify the list of filters included in an instance of Microsoft SQL Server 2005.Many document types can be stored in a single varbinary(max), or image column. For each document, SQL Server chooses the correct filter based on the file extension. Because the file extension is not visible when the file is stored in a varbinary(max), or image column, the file extension must be stored in a separate column in the table, called a type column. This type column can be of any character-based data type and contains the document file extension, such as .doc for a Microsoft Word document. In the Document table in Adventure Works, the Document column is of type varbinary(max), and the FileExtension column is of type nvarchar(8). For more information on the schema of this table, see Document Table (AdventureWorks).


дальше нормально, у меня в поле только текст, он индексируется и ищется.
А из RTF я хочу вытащить тоже текст и положить в это поле, чтобы находился только текст, и не мешались внутренние RTF тэги.
Тип документа я не указываю для FTS.

Т.е. получается один из вариантов - написать функцию на SQLCLR которая будет на входе брать RTF текст и выдавать чистый текст.
18 июн 09, 14:54    [7315823]     Ответить | Цитировать Сообщить модератору
 Re: в поле хранится RTF, как взять текст?  [new]
Glory
Member

Откуда:
Сообщений: 104760
Winnipuh


дальше нормально, у меня в поле только текст, он индексируется и ищется.
А из RTF я хочу вытащить тоже текст и положить в это поле, чтобы находился только текст, и не мешались внутренние RTF тэги.
Тип документа я не указываю для FTS.

Т.е. получается один из вариантов - написать функцию на SQLCLR которая будет на входе брать RTF текст и выдавать чистый текст.

Т.е. по вашему написание SQLCLR более легкий способ, чем проставить в нужных записях расширение ???
18 июн 09, 14:57    [7315851]     Ответить | Цитировать Сообщить модератору
 Re: в поле хранится RTF, как взять текст?  [new]
Winnipuh
Member [заблокирован]

Откуда: Київ
Сообщений: 10428
Glory
Winnipuh


дальше нормально, у меня в поле только текст, он индексируется и ищется.
А из RTF я хочу вытащить тоже текст и положить в это поле, чтобы находился только текст, и не мешались внутренние RTF тэги.
Тип документа я не указываю для FTS.

Т.е. получается один из вариантов - написать функцию на SQLCLR которая будет на входе брать RTF текст и выдавать чистый текст.

Т.е. по вашему написание SQLCLR более легкий способ, чем проставить в нужных записях расширение ???



возможно это лучшее решение - добавить колонку. ОК.
19 июн 09, 13:08    [7320274]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить