2011-02-10 3 views

Répondre

0

Ne stockez pas l'image elle-même dans le DB bt dans le système de fichiers et dans le DB stocker le nom de l'image seulement. C'est une meilleure option que de bourrer des données dans des blobs DB.

+1

Pourquoi est-ce une meilleure option? –

+0

Parce qu'un système de fichiers a été conçu pour, bien, stocker des fichiers. Vous pouvez y accéder directement sans convertir les octets en avant et en arrière depuis et vers les blobs. Si vous travaillez avec une application Web et que votre base de données et votre serveur Web fonctionnent sur des machines différentes, toutes vos images doivent voyager de l'ordinateur DB sur le réseau vers le serveur Web à partir de là. Trafic gaspillé. Si vous avez juste quelques petites images, allez les ranger dans la BD. Il y a plusieurs arguments - pro et contra. – Krumelur

0

Vous pouvez stocker des fichiers arbitraires dans une base de données SQL Server en utilisant un champ de type BLOB ("Binary Large OBject"). Créer une colonne de ce type dans votre table, puis vous pouvez charger des données de fichier en référençant un fichier sur le disque dur, probablement en utilisant une procédure stockée

Il existe de nombreux articles sur l'utilisation de BLOBS; Voici un beau tutoriel: Part one, part two.

Voici quelques exemples de code de cet article qui est spécifiquement l'ajout d'une valeur de blob d'un fichier:

INSERT INTO BLOBTest 
(BLOBName, BLOBData) 
SELECT 'First test file', 
    BulkColumn FROM OPENROWSET(
     Bulk 'C:\temp\nextup.jpg', SINGLE_BLOB) AS BLOB 

Si oui ou non vous devez faire est une question tout à fait différente.

Questions connexes