ינו25
Written by:
ronen ariely
25/01/2011 21:14 
מסד נתונים 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
הודעת שגיאה בזמן ההתקנה:

* 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!
יש לזכור שהבלוג בה לעזור אבל אינו נועד להחליף את המשמכים הרשמיים של מייקרוסופט. כל מה שאתם עושים נעשה על אחריותכם ולא מומלץ לבצע התקנות ברמת דריברים ללא הבנה של ההשלכות האפשריות! בכל מקרה תמיד נסו לבצע את הבדיקות תחילה בסביבת ניסיונות ולא בשרת חי