2010-10-19 4 views
0

dans un fichier Excel nommé (a.xlsx) dans un dossier nommé (ExcelFiles).ConnectionString pour obtenir un fichier Excel Problème

Le dossier ExcelFiles se trouve à la racine de mon projet.

donc ma chaîne de connexion pour obtenir des données de fichier Excel est comme ceci:

<add name="xlsx" connectionString="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=aaa\ExcelFiles\a.xlsx;Extended Properties=Excel 12.0"/> 

aaa = Mon Nom du projet

avec cette chaîne de connexion tout est ok au niveau local, mais après téléchargement site web i avoir une erreur

où est le problème ??

est ce chemin vrai -> ~/ExcelFiles/a.xlsx ou non

u peut fixer ce chemin 4 moi ....

après avoir résolu le problème de chemin l'erreur est comme ceci:

The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine. 
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.InvalidOperationException: The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine. 

comment puis-je faire avec cette erreur?

merci à l'avance future

meilleures salutations

Répondre

1

La machine vous hébergez le fichier sur n'a pas le ACE OleDB pour le pilote de bureau installé. Je passer au conducteur JetOLEDB

Une chaîne de connexion Jet OleDB ressemble

Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties="Excel 8.0;HDR=Yes;IMEX=1"; 

Excel8.0 est une version 2003, je crois. Pour 2007, vous voudrez utiliser Excel12.0

Donc ce que je voudrais faire un String.Format et simplement passer à l'emplacement du fichier Excel, bien sûr, car cela semble être une application asp.net, il devrait ressembler à ceci:

String con = String.Format(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties="Excel 8.0;HDR=Yes;IMEX=1"", Server.MapPath(EXCEL FILE LOCATION)); 

Vous pouvez bien sûr tout simplement la chaîne utilisée dans le String.Format dans le fichier de votre config de cette façon il n'est pas codé en dur comme je l'ai.

+0

MERCI BEAUCOUP/LE PROBLEME DU PILOTE RESOLU/QU'EN EST-IL DU CHEMIN ABSOLU DANS LA SOURCE DE DONNEES? (VRAIMENT APPRÉCIÉ POUR VOS RÉPONSES) – LostLord

+0

J'ai modifié ma réponse pour montrer ces idées, car elles sont un peu plus longues que ce qui peut être posté ici. – Justin

+0

DÉSOLÉ - MERCI BEAUCOUP – LostLord

0

Jetez un oeil à l'adresse suivante, il contient des informations sur la façon de résoudre ce problème

http://www.microsoft.com/downloads/en/details.aspx?FamilyID=7554F536-8C28-4598-9B72-EF94E038C891&displaylang=en

+0

merci pour votre réponse/mais cette erreur se déclenche du serveur et en local tout est ok/votre programme suggéré s'installe sur local // comment puis-je l'utiliser dans ce serveur? – LostLord

+0

Vous devez installer le pilote dans le serveur pour que cela fonctionne ou regardez @ La suggestion de Justin de passer au Jet – Nair