> Tech > Annexe 2 : Utiliser l’objet SqlCommand pour importer des BLOB

Annexe 2 : Utiliser l’objet SqlCommand pour importer des BLOB

Tech - Par iTPro - Publié le 24 juin 2010
email

Le rédacteur technique de SQL Server Magazine, Bob Pfeiff de Microsoft, a suggéré une autre méthode d'utilisation de l'objet DataSet pour importer des BLOB : en utilisant l'objet ADO.NET Command avec une procédure stockée. Cette méthode ne vous demande pas d'utiliser un DataSet sur le client, mais elle demande une

Annexe 2 : Utiliser l’objet SqlCommand pour importer des BLOB

procédure
stockée pré-existante sur le système SQL Server.
Quand vous utilisez des paramètres de procédure
stockée pour accéder à  des BLOB, souvenez-vous
que le paramètre BLOB doit toujours être le dernier
dans l’appel adressé à  la procédure stockée.
Le code suivant montre une procédure stockée
simple nommée p_insertimage qui accepte
un paramètre de type de donnée d’image. Le code
insère le paramètre dans la table BLOBTable.
(Vous trouverez le schéma de cette table dans
l’article principal.)

CREATE PROCEDURE dbo.p_insertimage
( @image image)
AS
SET NOCOUNT ON
INSERT INTO BLOBTable (blob_object)
VALUES(@image)
RETURN
GO

Le listing A montre le code C# qui appelle cette procédure
stockée. Le code utilise un objet OleDbConnection
pour ouvrir une connexion avec SQL Server. Ensuite, le code
crée un nouvel objet FileStream nommé fs qui ouvre le fichier
homer.jpg et lit le contenu de ce fichier dans la matrice d’octets
nommée imagefile. Ensuite, le code crée un objet
OleDbCommand nommé cmd qui exécutera la procédure
stockée p_insertimage, passant les données BLOB à  p_insertimage
comme un paramètre.
L’accès BLOB n’est pas limité au simple namespace
System.Data.SqlClient. Vous pouvez aussi accéder aux BLOB
en utilisant le namespace System.Data.OleDb, comme je le
montre ici, ainsi que les namespaces System.Data.Oracle-
Client et System.Data.Odbc.

Téléchargez gratuitement cette ressource

TOP 5 Modernisation & Sécurité des Postes Clients

TOP 5 Modernisation & Sécurité des Postes Clients

Pour aider les entreprises à allier les restrictions liées à la crise et la nécessaire modernisation de leurs outils pour gagner en réactivité, souplesse et sécurité, DIB-France lance une nouvelle offre « Cloud-In-One » combinant simplement IaaS et DaaS dans le Cloud, de façon augmentée.

Tech - Par iTPro - Publié le 24 juin 2010