> Data > Utilisation de l’objet SqlCommand pour importer des BLOB

Utilisation de l’objet SqlCommand pour importer des BLOB

Data - Par iTPro.fr - Publié le 24 juin 2010
email

Mis en ligne le 11/05/2005 - Publié en Juin 2004

Le plein de conseils...
 

Une alternative à  l’utilisation de l’objet DataSet pour importer
des objets BLOB (binary large object) consiste à  employer
l’objet ADO.NET Command avec une procédure stockée.
Cette méthode ne nécessite pas d’objet DataSet sur le client,
mais requiert une procédure stockée pré-existante sur le système
SQL Server. Lorsque vous employez des paramètres de
procédure stockée pour accéder à  des BLOB, ayez à  l’esprit
que le paramètre du BLOB doit figurer en dernier dans l’appel
à  la procédure stockée.

Le code suivant illustre une procédure simple intitulée
p_insertimage, qui accepte un paramètre de type de données
image. Le code insère le paramètre dans la table
BLOBTable. (Le schéma de cette table est disponible sur le
site www.itpro.fr Club Abonnés.)

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

Le listing 4 présente le code C# qui appelle cette procédure
stockée. Ce code utilise un objet OleDbConnection
pour ouvrir une connexion vers SQL Server. Il crée ensuite
un nouvel objet FileStream nommé fs, qui ouvre le fichier homer.
jpg et en lit le contenu dans le tableau d’octets nommé
imagefile. Un objet OleDbCommand cmd est alors créé et va
exécuter la procédure stockée p_insertimage, passant les
données BLOB à  p_insertimage en tant que paramètres.
L’accès à  l’objet BLOB n’est pas limité au seul espace de
nom System.Data.SqlClient. Vous pouvez aussi accéder aux
BLOB en utilisant l’espace de nom System.Data.OleDb,
comme illustré ici, ou encore les espaces de nom
System.Data.OracleClient et System.Data.Odbc.

Téléchargez gratuitement cette ressource

IBMi et Cloud : Table ronde Digitale

IBMi et Cloud : Table ronde Digitale

Comment faire évoluer son patrimoine IBMi en le rendant Cloud compatible ? Comment capitaliser sur des bases saines pour un avenir serein ? Faites le point et partagez l'expertise Hardis Group et IBM aux côtés de Florence Devambez, DSI d'Albingia.

Data - Par iTPro.fr - Publié le 24 juin 2010