שלח תשובה

זירת השאלות

1650
צפיות
1
תשובות

Error בעבודה עם Excel דרך האתר

,‏ 26 בפברואר, 2013

שלום לכולם,
בניתי אתר שיש בו אפשרות להוריד קובץ excel עם נתונים מבסיס הנתונים של האתר.
כאשר אני מריץ את האתר במחשב האישי אין תקלות, אבל לאחר שאני מעלה את האתר לשרת ואני לוחץ על הכפתור שצריך להוריד את קובץ ה excel אני מקבל את השגיאה הבאה :
The 'Microsoft.Jet.OleDb.4.0' provider is not registered on the local machine.

החלק הבעייתי בקוד : (שורה 39)
Line 37: VALUES (@0,@1,@2,@3,@4,@5,@6,@7)";
Line 38: foreach(var Client in clients){
Line 39: excel.Execute(sql,
Line 40: Client.CName,
Line 41: Client.CTel,

בהתחלה הייתה בעיה גם כאשר הרצתי את האתר במחשב האישי, פתרתי אותה ע"י הוספת הקוד הבאה לדף web.config :

<DbProviderFactories>
<remove invariant="System.Data.SqlServerCe.4.0" />
<add invariant="System.Data.SqlServerCe.4.0" name="Microsoft® SQL Server® Compact 4.0" description=".NET Framework Data Provider for Microsoft SQL Server Compact" type="System.Data.SqlServerCe.SqlCeProviderFactory, System.Data.SqlServerCe, Version=4.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
</DbProviderFactories>

לפי דעתי צריך לשנות משהו בהגדרות על השרת, אשמח אם מישהו יודע מה לעשות.
אני כותב ב CSHTML ומשתמש ב WebMatrix

1 תשובות

  1. moshikod הגיב:

    לאחר חיפוש נראה לי שהבעיה נפתרה, למי שיצטרך בעתיד:
    צריך להחליף את :Provider=Microsoft.Jet.OleDb.4.0;
    ל : Provider=Microsoft.ACE.OleDb.12.0;
    לפי מה שהבנתי זה קשור לגרסה של הווינדוס X64 או X86

שלח תשובה