J'ai besoin de stocker des fichiers binaires dans la base de données SQL Server. Quel est le meilleur type de données hors Varbinary et Image?
Réponses:
Étant donné que l'image est obsolète, vous devez utiliser varbinary.
par Microsoft (merci pour le lien @Christopher)
Les types de données ntext, texte et image seront supprimés dans une future version de Microsoft SQL Server. Évitez d'utiliser ces types de données dans de nouveaux travaux de développement et prévoyez de modifier les applications qui les utilisent actuellement. Utilisez à la place nvarchar (max), varchar (max) et varbinary (max).
Types de données de longueur fixe et variable pour le stockage de gros caractères non Unicode et Unicode et de données binaires. Les données Unicode utilisent le jeu de caractères UNICODE UCS-2.
Il y a aussi le plutôt spiffy FileStream
, introduit dans SQL Server 2008.
FileStream
n'est qu'un comportement de stockage. Filestream est implémenté en utilisant varbinary(max)
et en apportant des modifications à votre instance de serveur SQL.
https://docs.microsoft.com/en-us/sql/t-sql/data-types/ntext-text-and-image-transact-sql
image
Données binaires de longueur variable de 0 à 2 ^ 31-1 (2 147 483 647) octets. Il est toujours pris en charge d'utiliser le type de données image, mais soyez conscient de:
https://docs.microsoft.com/en-us/sql/t-sql/data-types/binary-and-varbinary-transact-sql
varbinary [(n | max)]
Données binaires de longueur variable. n peut être une valeur comprise entre 1 et 8 000. max indique que la taille de stockage maximale est de 2 ^ 31-1 octets. La taille de stockage est la longueur réelle des données saisies + 2 octets. Les données saisies peuvent avoir une longueur de 0 octet. Le synonyme ANSI SQL de varbinary varie en binaire.
Les deux sont donc de taille égale (2 Go). Mais soyez conscient de:
Bien que la fin du type de données "image" ne soit toujours pas déterminée, vous devez utiliser l'équivalent de preuve "future".
Mais vous devez vous demander: pourquoi stocker des BLOBS dans une colonne?