stocker un fichier et le récupérer d'une BD MS SQL SERVER

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : stocker un fichier et le récupérer d'une BD MS SQL SERVER

plus de précision

par maghnaou » 18 sept. 2006, 11:58

ce code me permettait à travers un formulaire d'insérer des document dans la base données MySQL et après les ouvrir sur le site pour lecture, alors qu'on m'exige MS SQL SERVER, donc le même codebloque et je crois c'est un problème de typage : BLOB->Nvarbinary
en fait ma requête insert ne marche pas et me sors erreur severitu 15

par zeus » 18 sept. 2006, 11:03

Pour pouvoir t'aider, il faudrait encore savoir ce qui ne marche pas :?

N'étant pas un grand spécialiste de MS SQL SERVER, je ne vois rien de choquant :-k

stocker un fichier et le récupérer d'une BD MS SQL SERVER

par maghnaou » 18 sept. 2006, 11:00

bonjour,
je suis actuellement en train de développer un site intranet, où des fichiers seront disponible en téléchargement et comme les gens n'auront pas le droit d'insérer des documents sur le serveur, on a trouvé la possibilité que ces fichiers soient insérées dans une base de données (MS SQL SERVER 2005), le problème est que ce code :
>>dans un formulaire on récupère le fichier du disque client et ensuite
je traite comme :
        $nom = $_FILES['fich']['name'];
	$type = $_FILES['fich']['type'];
	$taille = $_FILES['fich']['size'];
	$fich= $_FILES['fich']['tmp_name'];

	if ($f = fopen( $fich, "r")) 
        {
		$contenu=fread($f, $taille);
		$donnees=addslashes($contenu);
		$idservice="dircot";
		$req= "INSERT INTO $table(nomfic,categorie,dateinsert,periode,idservice,fic) VALUES ('$nom','rapport','$date','$periode','$idservice','$donnees')";
		$idreq=mysql_query($req, $connexion);
		$nb=mysql_affected_rows($connexion);
		if ($nb<=0) {echo "l'insertion a échoué !<br>Erreur: ". mysql_error()."<br>";}
	}
ce code marchait parfaitement sur MYSQL, mais pas en SQL SERVER que je ne connais et je ne sais pas comment l'adapter pour tourner.

aidez moi svp, c'est vraiment urgent
merci