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

mamacocha Messages postés 1 Date d'inscription lundi 23 avril 2007 Statut Membre Dernière intervention 11 août 2008 - 11 août 2008 à 16:18
titeoe Messages postés 433 Date d'inscription samedi 26 avril 2003 Statut Membre Dernière intervention 4 décembre 2009 - 4 oct. 2008 à 01:03
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
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.


using Microsoft.Office.Interop.Excel;
using Microsoft.Office.Core;
using ExcelApplication = Microsoft.Office.Interop.Excel.Application;


Pour se connecter au fichier

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


ExcelApplication excelappli = new ExcelApplication();
            excelappli.Visible = false;
            Workbook workbook = excelappli.Workbooks.Add(System.Reflection.Missing.Value);
            Worksheet worksheet = (Worksheet)excelappli.ActiveSheet

1 réponse

titeoe Messages postés 433 Date d'inscription samedi 26 avril 2003 Statut Membre Dernière intervention 4 décembre 2009 1
4 oct. 2008 à 01:03
Quelque chose me semble important :
>Inner Exception Type : System.UnauthorizedAccessException<

as tu vérifié que ton fichier excel est bien dans un dossier ou le compte de services de IIS est autorisé à accéder ?

Remarque au passage > faire de l'automation excel sur un serveur , c'est mal !
Excel n'est pas un logiciel serveur
Comment vas tu gérer les accès concurrents a ton fichier ?

---------------------------------------
R. Seb
MCP C# 2.0 - MCTS ASP.Net 2.0
0
Rejoignez-nous