Stocker une photo dans une base de donnée sql server [Fermé]

Signaler
-
 bokombejeanpapin -
Bonjour,

j'ai un projet de fin d'année qui porte sur une application de gestion des etudiants d'une ecole j'aimerais sauvegarder les photos des etudiants dans une base de donnée sql server a travers visual Studio .net
donc SVP aider moi a le faire
merci

1 réponse

Messages postés
3739
Date d'inscription
samedi 23 février 2013
Statut
Membre
Dernière intervention
8 juillet 2017
1 427
Bonjour,

Tu as 2 possibilités :
1- Tu stockes le chemin de la photo dans ta BDD
https://forums.commentcamarche.net/forum/affich-10948327-comment-stoker-une-image-dans-sqlserver
https://sqlpro.developpez.com/cours/stockerimages/

2- Tu stockes directement la photo dans ta base
https://docs.microsoft.com/fr-fr/sql/relational-databases/blob/filetables-sql-server?redirectedfrom=MSDN&view=sql-server-ver15
https://docs.microsoft.com/fr-fr/sql/relational-databases/blob/binary-large-object-blob-data-sql-server?redirectedfrom=MSDN&view=sql-server-ver15

Il y a pas mal de débat sur POUR ou CONTRE le stockage de fichiers directement en BDD. Perso, pour des petits fichiers, je pense qu'il est plus pratique de les stocker directement dans la base. Ça évite des problèmes potentiels genre photo supprimée via explorateur et lien toujours existant dans la base, etc. et ça simplifie les sauvegardes puisqu'il suffit de sauvegarder uniquement la base.

Pour accéder aux fichiers directement stockés en base, il s'agit d'un FileStream classique donc simple à gérer.
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 60511 internautes nous ont dit merci ce mois-ci

Messages postés
13
Date d'inscription
mardi 7 mai 2013
Statut
Membre
Dernière intervention
24 juin 2014

merci beaucoup je vais essayé
Messages postés
3739
Date d'inscription
samedi 23 février 2013
Statut
Membre
Dernière intervention
8 juillet 2017
1 427
Je viens de retrouver un bout de code que j'avais fait il y a longtemps pour des tests. Ça peut t'aider même si ce n'est pas commenté ;-)
(c'est du VB.NET pour la partie lecture)

Pour enregistrer la photo :
'Simple requête SQL à exécuter avec les bons paramètres
DECLARE @img AS VARBINARY(MAX)
SELECT @img = CAST(bulkcolumn AS VARBINARY(MAX)) FROM OPENROWSET(BULK 'PATH_DE_LA_PHOTO', SINGLE_BLOB) AS x
INSERT INTO FICHIERS (FICHIER_PID ,FICHIER) VALUES (NewID() ,@img)



Pour lire une photo :
Dim ConStr As String = ConStr = "Data Source=SERVEUR_BDD;Initial Catalog=BASE_DE_DONNEES; user id='USER'; password='PWD';"
Dim con As New SqlClient.SqlConnection(ConStr)
con.Open()
Dim sqlCommand As New SqlClient.SqlCommand()
sqlCommand.Connection = con
sqlCommand.CommandText = "SELECT FICHIER FROM FICHIERS WHERE FICHIER_ID = 'xxx'"
Dim Result As Object = sqlCommand.ExecuteScalar
If IsDBNull(Result) Then
'PAS DE LOGO, ON NE FAIT RIEN
Else
Dim buffer As Byte() = Result
' Utilisation de la mémoire comme magasin de stockage du fichier
Dim ms As MemoryStream = New MemoryStream(buffer)
Dim image As Image = image.FromStream(ms)
PictureBox.Image = image
End If
Messages postés
13
Date d'inscription
mardi 7 mai 2013
Statut
Membre
Dernière intervention
24 juin 2014

ok je vais essayé voire merci
Messages postés
48
Date d'inscription
mercredi 21 mai 2014
Statut
Membre
Dernière intervention
30 mai 2018

Bonjour,
SVP est ce que vous pouvez me donner le code de lire une photo en visual foxpro?
Merci Beaucoup.

comment je peut lire cette photo en langage java?