Probleme syntaxe - Expecting STRING, or TEXT_LEX
Bonjour,
J'utilise Sql server 2008 et je souhaite insérer plusieurs fichiers dans un champ de type varbinary.
Quand j'utilise le code suivant, tout fonctionne bien :
Code:
1 2 3 4 5 6 7 8 9 10 11
| -- Variable de type image
DECLARE @img AS VARBINARY(MAX)
-- Chargement du document (chemin c:\)
SELECT @img = CAST(bulkcolumn AS VARBINARY(MAX))
FROM OPENROWSET(
BULK 'C:\Word.docx', SINGLE_BLOB) AS x
Insertion des documents dans la table
Document word 2007
INSERT INTO dbo.Documents (DocID, DocNumber, DocName, DocDescription, DocExtension, Doc)
VALUES (NEWID(), 'doc1','word','Document office word','.docx', @img); |
Par compte, quand j'essaie de passer le chemin de mon fichier dans une variable comme suit, j'ai l'erreur de syntaxe suivante "Expecting STRING, or TEXT_LEX"
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
-- Variable de type image
DECLARE @img AS VARBINARY(MAX)
DECLARE @path as varchar(max) = 'C:\Word.docx'
-- Chargement du document (chemin c:\)
SELECT @img = CAST(bulkcolumn AS VARBINARY(MAX))
FROM OPENROWSET(
BULK @path, SINGLE_BLOB) AS x
Insertion des documents dans la table
Document word 2007
INSERT INTO dbo.Documents (DocID, DocNumber, DocName, DocDescription, DocExtension, Doc)
VALUES (NEWID(), 'doc1','word','Document office word','.docx', @img); |
Mon objectif étant de créer un curseur qui va parcourir une liste de fichiers et les insérer dans ma table sans avoir a créer de script type powershell pour générer mon sricpt sql d'insertion de mes fichiers dans ma table.
Merci d'avance