
Envoyé par
Christophe Charron
Merci à tous les deux pour ces éclaircissements.
Des comportements exotiques à attendre, à votre avis, si le contenu de la colonne est en rtf ?
D'avance, merci.
Il suffit de la stocker dans une colonne de type VARBINARY(max) et de rajouter une colonne dans la table indiquant le type d'extension du fichier stocké.
Exemple :
La table :
1 2 3 4 5
| CREATE TABLE dbo.T_DOC
(DOC_ID INT IDENTITY CONSTRAINT PK_DOC PRIMARY KEY,
DOC_NATURE VARCHAR(8),
DOC_DATA VARBINARY(max));
GO |
Exemple d'insertion du contenu binaire d'un fichier RTF :
1 2 3 4 5
| INSERT INTO dbo.T_DOC
SELECT '.rtf', CAST(BulkColumn AS VARBINARY(max))
FROM OPENROWSET(BULK 'C:\DATA\doc.rtf',
SINGLE_CLOB) AS T;
GO |
Création du catalog FT
1 2 3
| CREATE FULLTEXT CATALOG FT_CAT
WITH ACCENT_SENSITIVITY = ON;
GO |
Création de l'index FT sur le texte
1 2 3 4 5 6 7 8 9
| CREATE FULLTEXT INDEX
ON dbo.T_DOC (DOC_DATA
TYPE COLUMN DOC_NATURE
LANGUAGE 1036)
KEY INDEX PK_DOC
ON FT_CAT
WITH (CHANGE_TRACKING = AUTO,
STOPLIST= SYSTEM)
GO |
SQL Server est capable d'indexer le contenu de plus de 50 types de fichiers différents :
SELECT * FROM sys.fulltext_document_types
A +
Partager