IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

Retrieving the COM class factory for component with CLSID {00024500-0000-0000-C000-00


Sujet :

ASP.NET

  1. #1
    Candidat au Club
    Inscrit en
    Juin 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 5
    Points : 3
    Points
    3
    Par défaut Retrieving the COM class factory for component with CLSID {00024500-0000-0000-C000-00
    Bonjour,

    Je développe une application qui importe un fichier excel (formaté selon un modèle précis) avec visual, ensuite je prend les données et après traitement, réxpédie le tout sous un autre fichier excel.

    En local, tout marche niquel, dès que l'on passe le code sur le serveur recette, il m'affiche un problème d'autorisation et l'erreur ci-dessus.
    Nous avons vérifié que Excel était bien installé, bonne version, tous les droits ouverts, même langage etc. Rien y fais, le problème persiste.

    Le problème viendrait de l'utilisation de la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ExcelApplication excelappli = new ExcelApplication();
    et donc pas de la connection au fichier.

    Je sais que ce message revient souvent mais aucune réponse n'est arrivé à resoudre le problème. quelqun aurait-il la solution?



    La page d'erreur en question


    OS Version : Microsoft Windows NT 5.2.3790 Service Pack 2
    Exception Message : Exception of type 'System.Web.HttpUnhandledException' was thrown.
    Exception Type : System.Web.HttpUnhandledException
    Exception StackTrace : at System.Web.UI.Page.HandleError(Exception e) at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) at System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) at System.Web.UI.Page.ProcessRequest() at System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context) at System.Web.UI.Page.ProcessRequest(HttpContext context) at ASP.modules_administration_parc_info_tp_nouveaumateriel_aspx.ProcessRequest(HttpContext context) in c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\mytopic\9527827d\4c747558\App_Web_tp_nouveaumateriel.aspx.7f2daddf.00onl93n.0.cs:line 0 at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
    Inner Exception Message : Retrieving the COM class factory for component with CLSID {00024500-0000-0000-C000-000000000046} failed due to the following error: 80070005.
    Inner Exception Type : System.UnauthorizedAccessException
    Inner Exception StackTrace : at Modules_Administration_Parc_Info_uc_OngletAdministrationDonnees.btnImport_Click(Object sender, EventArgs e) at System.Web.UI.WebControls.Button.OnClick(EventArgs e) at System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) at System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) at System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) at System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

    Voici les bouts de code qui utilise le fichier excel.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    using Microsoft.Office.Interop.Excel;
    using Microsoft.Office.Core;
    using ExcelApplication = Microsoft.Office.Interop.Excel.Application;
    Pour se connecter au fichier

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    String sNomFichier = fuImportExcel.PostedFile.FileName;
                // connection au fichier pour en extraire les données
                String strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" +
                                "Data Source=" + sRepertoireSauvegarde +sNomFichierSauv+ ";" +
                                "Extended Properties=Excel 8.0;";
    Pour créer un fichier de sortie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
    ExcelApplication excelappli = new ExcelApplication();
                excelappli.Visible = false;
                Workbook workbook = excelappli.Workbooks.Add(System.Reflection.Missing.Value);
                Worksheet worksheet = (Worksheet)excelappli.ActiveSheet;

  2. #2
    Membre confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2004
    Messages
    417
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2004
    Messages : 417
    Points : 581
    Points
    581
    Par défaut
    La comme ca je sais pas pouquoi cette erreur ca peut venir de beaucoup de chose.

    mais je tiens a t'informer que microsoft lui meme deconseil tres vivement de faire de l'interop sur des serveurs web de prod.

    edit: Je trouve plus la page ou il le precise (il l'ont changée de palce lol)
    L'Homme est doté de 2 yeux et de 2 oreilles pour voir et entendre deux fois plus qu'il ne parle

    Je ne réponds pas au questions par mp. Merci

  3. #3
    Candidat au Club
    Inscrit en
    Juin 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    erf c'est bien dommage ça
    Sinon tu connaitrai pas une autre méthode ou un endroit où je peux en trouver une pour remplacer l'interrop?

    J'avais vu que l'on pouvais utiliser Microsoft.tool.excel pour le remplacer mais j'ai pas trouver d'equivalent pour l'objet ExcelApplication

  4. #4
    Membre confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2004
    Messages
    417
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2004
    Messages : 417
    Points : 581
    Points
    581
    Par défaut
    pour excel en asp .net tu peux regarder ceci:
    Tu peux lire manipuler un fichier excel avec ADo .net

    http://davidhayden.com/blog/dave/arc...5/26/2973.aspx
    http://www.codeproject.com/KB/office...ing_oledb.aspx
    L'Homme est doté de 2 yeux et de 2 oreilles pour voir et entendre deux fois plus qu'il ne parle

    Je ne réponds pas au questions par mp. Merci

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/07/2010, 14h46
  2. Réponses: 0
    Dernier message: 27/07/2009, 15h00
  3. Réponses: 30
    Dernier message: 12/01/2009, 09h08
  4. Script VB : Erreur "COM class factory"
    Par hedgehog dans le forum Windows
    Réponses: 0
    Dernier message: 25/11/2008, 21h19
  5. Réponses: 1
    Dernier message: 12/11/2008, 19h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo