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?
la source
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?
É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.
varbinary(max)
est la voie à suivre (introduite dans SQL Server 2005)la source
Il y a aussi le plutôt spiffy
FileStream
, introduit dans SQL Server 2008.la source
FileStream
n'est qu'un comportement de stockage. Filestream est implémenté en utilisantvarbinary(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
https://docs.microsoft.com/en-us/sql/t-sql/data-types/binary-and-varbinary-transact-sql
Les deux sont donc de taille égale (2 Go). Mais soyez conscient de:
https://docs.microsoft.com/en-us/sql/database-engine/deprecated-database-engine-features-in-sql-server-2016#features-not-supported-in-a-future-version- of-sql-server
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?
https://docs.microsoft.com/en-us/sql/relational-databases/blob/compare-options-for-storing-blobs-sql-server
la source