2009-08-10 7 views

Répondre

3
  1. Lit dans une variable de chaîne.
  2. Stockez-le dans un champ BLOB.
  3. Ne stockez pas de données d'image dans la base de données , mieux vaut simplement stocker un nom de fichier unique qui pointe vers le fichier image réel, qui aidera à réduire la DB et vous éviter d'avoir à récupérer des enregistrements volumineux.
1

Utilisez le type de champ BLOB et écrivez-le comme d'habitude. N'oubliez pas de stocker le type d'image, il est nécessaire d'avoir quand vous voulez montrer vos images.

2

Cela dépend de l'image tailles

Si elles sont grandes (plus d'un meg environ) et vous avez beaucoup d'entre eux ou un montant ouvert d'entre eux - alors il pourrait être préférable de stocker sur le système de fichiers et juste stocker l'emplacement dans la base de données.

Plus:

  1. meilleures caractéristiques de croissance DB
  2. plus facile à faire incrémentales des sauvegardes
  3. plus facile d'avoir un stockage hiérarchisé (stockage rapide cher pour des images très utilisées, le stockage lent pour ne pas si souvent utilisé les)
  4. possible d'avoir un accès aléatoire à une partie du fichier (ne pas besoin de lire tout ça)

Moins:

  1. difficile à faire des transactions
  2. lieu distinct qui doit être géré
  3. contrôles d'accès distincts qui doivent être gérés
  4. blobs sont plus faciles à programmer

Si la les images sont dans la gamme de quelques k, et vous avez un nombre limité d'entre eux, puis utilisez un MemoryStream (enregistrez-le comme avec n'importe quel flux) et transférez les octets dans un champ blob.

SQL Server vous donne le meilleur des deux mondes avec leur type de champ de système de fichiers (extériorise le blob dans un fichier, mais est par ailleurs traitée comme un blob)

Il est également agréable de stocker des informations supplémentaires sur l'image d'autres champs - de sorte que vous n'avez pas besoin de lire le blob de l'image pour faire certaines choses avec.Par exemple:

  1. La taille
  2. Le type
  3. Si multipages (comme TIFF), le nombre de pages

j'ai écrit sur certaines des considérations d'images dans un DB sur mon blog:

http://www.atalasoft.com/cs/blogs/loufranco/archive/2007/12/03/images-in-databases-part-i-what-to-store.aspx

http://www.atalasoft.com/cs/blogs/loufranco/archive/2007/12/04/images-in-databases-part-ii-web-images-are-random-access.aspx

http://www.atalasoft.com/cs/blogs/loufranco/archive/2009/04/28/document-storage-database-blobs-or-the-filesystem.aspx

Questions connexes