cs_eyango
Messages postés45Date d'inscriptionjeudi 24 août 2006StatutMembreDernière intervention30 janvier 2014
-
4 mars 2013 à 16:27
cs_jopop
Messages postés1540Date d'inscriptionlundi 26 mai 2003StatutMembreDernière intervention 1 août 2013
-
5 mars 2013 à 14:29
Salut Tous,
j'essaye de lire un fichier EXCEL et récupérer certaines informations dessus afin d enrichir ma BD...
Lorsque j'éxécute cette action en local... tout ce passe normalement... une fois que je suis sur un poste Client j ai l'erreur suivante:
Erreur du serveur dans l'application '/murcas'.
--------------------------------------------------------------------------------
Impossible de créer un fichier.
Description : Une exception non gérée s'est produite au moment de l'exécution de la requête Web actuelle. Contrôlez la trace de la pile pour plus d'informations sur l'erreur et son origine dans le code.
Détails de l'exception: System.Data.OleDb.OleDbException: Impossible de créer un fichier.
Erreur source:
Une exception non gérée s'est produite lors de l'exécution de la requête Web actuelle. Les informations relatives à l'origine et l'emplacement de l'exception peuvent être identifiées en utilisant la trace de la pile d'exception ci-dessous.
OleDbCommand comm = new OleDbCommand("SELECT * FROM [RH$]", conExcel);
Da.SelectCommand = comm;
Da.Fill(Ds, "RH" );
conSQL.Open();
int nCount = 0;
foreach (DataRow row in Ds.Tables["RH"].Rows)
{
string date = DateCotisation.SelectedDate.ToString();
BLL.ServiceCotisation SC = new BLL.ServiceCotisation();
DataAccesEF.cotisation DaC = new DataAccesEF.cotisation();
BLL.ServiceSuivi_Pret SSP = new BLL.ServiceSuivi_Pret();
BLL.ServiceAdherernt SA = new BLL.ServiceAdherernt();
DataAccesEF.suivi_pret DaSP = new DataAccesEF.suivi_pret();
BLL.ServicePret SP = new BLL.ServicePret();
string Mois = SC.ConvertirDateMois(Convert.ToDateTime(DateCotisation.SelectedDate));
string Annee = SC.ConvertirDateAnnee(Convert.ToDateTime(DateCotisation.SelectedDate));
DataAccesEF.pret DaP = new DataAccesEF.pret();
DataAccesEF.archive_pret DaArch = new DataAccesEF.archive_pret();
BLL.ServiceArchivePret SAP = new BLL.ServiceArchivePret();
/*si le statutReel de la table Prêt est = "En cours" il écrit dans la table de suivi de prêt*/
DaC.Matricule = (row[0]).ToString();
DaC.CotisationMurcas = Convert.ToInt32(row[10]);
DaC.ReversementMurcas = Convert.ToInt32(row[13]);
DaC.RappelMurcas = Convert.ToInt32(row[14]);
DaC.CotisationFasas = Convert.ToInt32(row[15]);
DaC.ReversementFasas = Convert.ToInt32(row[16]);
DaC.RappelFasas = Convert.ToInt32(row[17]);
DaC.TotalMurcas = Convert.ToInt32(row[18]);
DaC.TotalFasas = Convert.ToInt32(row[19]);
DaC.DateCotisation = Convert.ToDateTime(DateCotisation.SelectedDate);
DaC.Mois = SC.RetourneMois(Mois);
DaC.Annee = SC.ConvertirDateAnnee(Convert.ToDateTime(DateCotisation.SelectedDate));
if (DaSP.MontantPlusTauRest <= 100)
{
SP.UpdatePretTerminé(DaP, code);
DaP.DateFinReelle = DateCotisation.SelectedDate;
MessageBox.Show("le Prêt de code " + code + " demandé par le matricule: " + DaC.Matricule + " est arrivé à échéances.", "FIN DU PRET");
DaArch.Codepret = code;
DaArch.CodeStatP = 3;
DaArch.DateDebut = SP.returnDate_debutPret(code);
DaArch.DateFinReelle = DateCotisation.SelectedDate;
DaArch.Matricule = SP.returnMatriculePret(code);
DaArch.ModePaiement = SP.returnModePaiementPret(code);
DaArch.Montant = SP.returnMontantPret(code);
DaArch.MontanTaux = SP.returnMontant_TauxPret(code);
DaArch.NbreEcheance = SP.returnNbreEcheancePret(code);
DaArch.NomBanque = SP.returnNomBanquePret(code);
DaArch.NumCheque = SP.returnNumchequePret(code);
SAP.AjouterArchivePret(DaArch);
/*Envoyer un Mail automatique au gestionnaires RH et à l'age§nt qui a demandé le prêt*/
cs_jopop
Messages postés1540Date d'inscriptionlundi 26 mai 2003StatutMembreDernière intervention 1 août 201312 5 mars 2013 à 14:01
Salut,
l'upload réel du fichier se passe bien en amont de cette event ?
Le contrôle FileUpload envoie le flux au serveur, mais c'est à ta charge d'en faire la copie sur le serveur.
cs_eyango
Messages postés45Date d'inscriptionjeudi 24 août 2006StatutMembreDernière intervention30 janvier 2014 5 mars 2013 à 14:18
Salut JOPOP,
merci d avoir répondu...
effectivement l'upload réel du fichier se passe bien(le controle fonctionne sans retourner d'erreurs)
STP dis moi
1- comment faire la copie sur le serveur?
2- Que devriendra le chemin (valeur) de "Data Source" de l'objet SQLConnection?
3- Pourquoi a t on besoin d'effectuer une copie de ce fichier?
cs_jopop
Messages postés1540Date d'inscriptionlundi 26 mai 2003StatutMembreDernière intervention 1 août 201312 5 mars 2013 à 14:29
1- FileUpload.SaveAs 2- Je connais pas SQL Server, toutefois si la BDD est accessible depuis ton serveur alors la chaîne de connexion ne devrait pas changer.
3 - Comment t'écrirais ta chaîne de connexion Excel sans avoir de fichier physique ? Tu ne peux pas ouvrir de connexion sur un flux.