en-UShe-IL
You are here:   Blog
Register   |  Login

Blog Archive:

Maximize
* Can be used in order to search for older blogs Entries

Search in blogs


Blog Categories:

Maximize
* Can be used in order to search for blogs Entries by Categories

Blog Tags:

Maximize
* Can be used in order to search for blogs by keywords

TNWikiSummit


Awared MVP

 


Microsoft® Community Contributor 


Microsoft® Community Contributor


 Read this before you use the blog! Maximize

Recent Entries

Minimize
ינו25

Written by: ronen ariely
25/01/2011 21:14 RssIcon

מסד נתונים Access בשרת 64 ביט

במדריכון זה נסביר מעט על הרצת אתרים המתבססים על מסד נתונים Access בשרת 64 ביט.

התקנת דרייבר מתאים: Data Connectivity Components

נוריד את הקובץ: AccessDatabaseEngine_x64.exe

בקישור הבא ניתן להוריד הן את הגרסה של 64 ביט והן את הגרסה של 32 ביט של דרייבר ההתחברות לאופיס 2010. דרייבר זה מאפשר לנו גם עבודה עם קבצים של גרסאות ישנות יותר.

http://www.microsoft.com/downloads/en/details.aspx?FamilyID=c06b8369-60dd-4b64-a44b-84b371ede16d&displaylang=en

גרסה ישנה ניתן היה למצוא כאן (אני מצרף רק לתיוק) הכילה רק גרסה ל 32 ביט:

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

  • * הערה: הגרסה שוחררה ביוני 2010

הודעת שגיאה בזמן ההתקנה:

* You cannot install the 64-bit version of Microsoft access data engine 2010 because you currently have 32-bit office products installed

הסבר ופתרון

הבעיה נובעת מכך שבמחשב מותקנת תוכנת האופיס בגרסת ה 32 ביט למשל (זו ברירת המחדל של ההתקנה). בקישור הבא מדברים בדיוק על ההודעה האמורה: האפשרויות שעומדות בפנינו הן:

1. להוריד את התקנה הנוכחית של האופיס ולהתקין את הדרייבר המתאים של האקסס ואז להתקין אופיס 64 ביט (הדרך המומלצת על ידי)

http://support.microsoft.com/kb/2269468

2. התקנה של הפרוביידר מהקישור מעל אמורה לפתוראת הבעיה

* התקנה של הפרוביידר בגרסת 64 ביט על מערכת בה מותקנת גרסת אופיס 32 עלולה להעלות שגיאת. במקרה כזה אתה יכול להתקין את הדרייבר תוך שימוש בפרמטר passive.

To install the Microsoft ACE OLEDB Provider 32-bit on a machine running Office 2010 64-bit:
$> AccessDatabaseEngine.exe /passive

To install the Microsoft ACE OLEDB Provider 64-bit on a machine running Office 2010 32-bit:
$> AccessDatabaseEngine_X64.exe /passive

* זה זמן טוב לבדוק את הקישור הבא!

http://office2010.microsoft.com/he-il/word-help/choose-the-32-bit-or-64-bit-version-of-microsoft-office-HA010369476.aspx

* יש לשים לב שגרסת ה 64 ביט אינה מלאה ולא מאפשרת את כל הדברים שיש בגרסת ה 32 ביט. בקישור מעל אפשר ללמוד מעט על ההבדלים וההשפעה של השינוי.

שרשרת ההתחברות:

dsn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Server.Mappath("MyAccessFile.mdb") & ";"
 
String excelConnStr =
    String.Format(
        "Provider=Microsoft.ACE.OLEDB.12.0; Data Source={0}; Extended Properties=Excel 12.0;"
        , filename
        );

   

* הערה: יש טעות בקבצי העזרה של מייקרוסופט (לפחות בגרסאות הישנות יותר) בהן מופיע שיש לעשות שימוש בגרסה 14.0. למעשה יש לעשות שימוש בגרסה 12.0 (בשרשרת ההתחברות).

עבודה תחת SSMS וקובץ אקסל:

ננסה להריץ את השאילתה הבאה:

select *
FROM
      OPENROWSET (
            'Microsoft.ACE.OLEDB.12.0' ,
            'Excel 12.0;Database=C:\Test2.xlsx;HDR=YES' ,
            'SELECT * FROM [Sheet1$]' )


אם חוזרת שגיאה 7330 (חוזרים רק הכותרים ולא הרשומות) ניתן לנסות לעקוף את הבעיה על ידי שינוי הגדרות linked server:

-- ______________________________
-- configured your linked server
-- ______________________________
  
USE [master]
GO
  
-- Get providers list and try to check if we have Microsoft.ACE.OLEDB.12.0:
EXEC master.dbo.sp_MSset_oledb_prop
/*
Microsoft.ACE.OLEDB.12.0   0      0      0      0      0      0      0      0
*/
  
-- נבצע שינוי הגדרות
  
EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'AllowInProcess', 1
GO
  
EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'DynamicParameters', 1
GO
  
EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'NestedQueries', 1
GO
  
EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'NonTransactedUpdates', 1
GO
  
-- נבדוק מצב הגדרות אחרי השינויים:
EXEC master.dbo.sp_MSset_oledb_prop
/*
Microsoft.ACE.OLEDB.12.0   1      0      1      0      0      1      1      0
*/

אתר מאוד ישן משנת 2001 מבוסס אקסס הועלה רק לצפייה כדוגמה על שרת 2008r2 64bit (עם מסד נתונים אקסס): http://k4school.com



* עדכון 2017-07-13: בהמשך לשאלה בפורום אני מוסיף קישורים עדכניים לגרסאות Microsoft Access Runtime בכל הגרסאות נכון לרגע זה. יש לציין שהקישורים מעל עובדים ומפנים לקישור הנכון (redirect) כרגע, אבל הדברים יכולים להשתנות, אז הנה הקישורים הישירים נכון לרגע זה:

** Using the Microsoft Access Runtime allow us to work with Microsoft Office documents without the need to install Ms-Office

*** As always you should read the official documentation and not rely only on this VERY OLD post. Anything you do is on your own responsabily and YOU SHOULDNOT INSTALL ANYTHING if you do not understand the possible implications!

יש לזכור שהבלוג בה לעזור אבל אינו נועד להחליף את המשמכים הרשמיים של מייקרוסופט. כל מה שאתם עושים נעשה על אחריותכם ולא מומלץ לבצע התקנות ברמת דריברים ללא הבנה של ההשלכות האפשריות! בכל מקרה תמיד נסו לבצע את הבדיקות תחילה בסביבת ניסיונות ולא בשרת חי