PDA

مشاهده نسخه کامل : باید از کدام ورژن فایل AccessDatabaseEngine.exe استفاده کرد در سیستم مشتری



hoshang2
13-12-17, 17:44
با سلام و خسته نباشید خدمت شما
من از exec sp_addlinkedserver استفاده می کنم برای ارتباط فایل excel با sql server و حتی access با sql server.
من از برنامه AccessDatabaseEngine.exe استفاده می کنم که بتونم در محیط sql server از فایلهای excel یا access استفاده بکنم.
حالا سئوال من این هست که از چه ورژنی از فایل AccessDatabaseEngine.exe استفاده بکنم.
شما تصور کنید من یک نرم افزار تولید کرده ام و می خواهم به صورت سایلنت فایل AccessDatabaseEngine.exe را نصب بکنم در دستگاه مشتری حالا مشتری شاید فایل excel 2007 را به نرم افزار browser کند و شایدم فایل excel 2013 و یا 2016 را به نرم افزار Browser کند حالا به نظر شما من از کدام ورژن AccessDatabaseEngine.exe استفاده بکنم که مشکلی نداشته باشم و به درستی بتوانم ارتباط بین sql server با excel را پیاده سازی بکنم.
البته برنامه AccessDatabaseEngine.exe هم ورژن 2007 دارد و هم 2010 دارد و هم 2013 دارد و حتی 2016 هم دارد.
برای اینکه من بتونم از فرمت xls و xlsx استفاده بکنم حتما باید فایل AccessDatabaseEngine.exe را اجرا بکنم تا بتونم از کوئری زیر استفاده بکنم :


EXEC sp_addlinkedserver
@server=OrderValues_EXCEL64,
@srvproduct='Whatever',
@provider= 'Microsoft.ACE.OLEDB.12.0',
@datasrc= 'c:\e\a.xls',
@provstr= 'Excel 5.0;'

البته من برای تست در ویندوز 32 بیتی این کار را انجام دادم و مشکلی هم ندارم فقط نمی دونم برای اینکه به مشکلی برنخورم از کدام ورژن فایل AccessDatabaseEngine.exe باید استفاده بکنم.
فقط خیلی ممنون می شوم پاسخ من را بدهید.
با تشکر از شما

Speed Racer
13-12-17, 18:59
سلام


من تازه برنامه نویسی سی شارپ رو شروع کردم و به sql server نرسیدم ولی نظر خودم رو طبق جستجوهایی که انجام دادم میگم اگه درست نبود شما در نظرش نگیر و صبر کن که مدیر این قسمت که حرفه ایه بیاد پاسخ درست رو بده


من رفتم به لینک زیر که آخرین ورژن رو برای دانلود گذاشتن و در قسمت install instructions یک چیزهایی در این مورد نوشته و مثل اینکه هر دو فرمت xlsx و xls رو ساپورت می کنه و معمولا اینطوریه که چیزی که جدید تره فرمت های قدیمی رو هم ساپورت می کنه مثلا office 2016 آفیس های قبل از خودش رو ساپورت می کنه اما آفیس 2007 همه ویژگی های آفیس 2016 رو نداره

لینک (Only the registered members can see the link)


اما وقتی روی قسمت دانلود رفتم دیدم تو تا فایل برای دانلود داره یکی 32 بیت و یکی 64 بیت. بنابراین این فکر به نظرم رسید شاید مشکل بیشتر از اینکه ورژن آفیس باشه 32 و 64 بیت بودن اون باشه چون احتمالا باید با هم مچ باشن

مثلا من خودم آفیس 64 بیت داشتم اما خیلی از addons ها رو پشتیبانی نمی کرد بنابراین رفتم همون آفیس 32 بیت رو نصب کردم یعنی addons ها هم باید با آفیس مچ باشن


پس به نظر من شما AccessDatabaseEngine 2016 رو هم 32 بیت و هم 64 بیت رو دانلود کن و اینجا دو راه داری

1- در موقع نصب تو صفحه install شدن یک پنجره ای باز بشه که کاربر بر حسب 32 بیت یا 64 بیت بودن آفیسی که داره، خودش ورژن مورد نظر رو نصب کنه

2- اگه می خوای سایلنت باشه که کاربر نفهمه پس باید یک کدی بنویسی که بفهمه سیستم عامل کاربر 32 بیته یا 64 بیت و بر اساس اون خودش یکی از دو نسخه رو اتوماتیک نصب کنه

hoshang2
13-12-17, 19:17
با سلام
ممنونم از پاسخ شما خیلی لطف کردید اما از مدیران محترم که تجربه کافی در این زمنیه دارن ممنون می شوم راهنمایی کنند که دقیقا مشکل من برطرف شود و خیال من راحت شود
ممنونم می شوم راهنمایی کنید

ravegoat
16-12-17, 07:47
با سلام و خسته نباشید خدمت شما
من از exec sp_addlinkedserver استفاده می کنم برای ارتباط فایل excel با sql server و حتی access با sql server.
من از برنامه AccessDatabaseEngine.exe استفاده می کنم که بتونم در محیط sql server از فایلهای excel یا access استفاده بکنم.
حالا سئوال من این هست که از چه ورژنی از فایل AccessDatabaseEngine.exe استفاده بکنم.
شما تصور کنید من یک نرم افزار تولید کرده ام و می خواهم به صورت سایلنت فایل AccessDatabaseEngine.exe را نصب بکنم در دستگاه مشتری حالا مشتری شاید فایل excel 2007 را به نرم افزار browser کند و شایدم فایل excel 2013 و یا 2016 را به نرم افزار Browser کند حالا به نظر شما من از کدام ورژن AccessDatabaseEngine.exe استفاده بکنم که مشکلی نداشته باشم و به درستی بتوانم ارتباط بین sql server با excel را پیاده سازی بکنم.
البته برنامه AccessDatabaseEngine.exe هم ورژن 2007 دارد و هم 2010 دارد و هم 2013 دارد و حتی 2016 هم دارد.
برای اینکه من بتونم از فرمت xls و xlsx استفاده بکنم حتما باید فایل AccessDatabaseEngine.exe را اجرا بکنم تا بتونم از کوئری زیر استفاده بکنم :


EXEC sp_addlinkedserver
server=OrderValues_EXCEL64,
@srvproduct='Whatever',
Provider= 'Microsoft.ACE.OLEDB.12.0',
datasrc= 'c:\e\a.xls',
Provstr= 'Excel 5.0;'

البته من برای تست در ویندوز 32 بیتی این کار را انجام دادم و مشکلی هم ندارم فقط نمی دونم برای اینکه به مشکلی برنخورم از کدام ورژن فایل AccessDatabaseEngine.exe باید استفاده بکنم.
فقط خیلی ممنون می شوم پاسخ من را بدهید.
با تشکر از شما
با سلام،

اون چیزی که خود مایکروسافت نوشته نسخه ی 2010 Microsoft Access Database Engine تا آفیس 2010 و به همین شکل نسخه ی 2016 اون تا آفیس 2016 رو پشتیبانی می کنه. در نتیجه اگر منعی ندارید (نظیر نسخه ی سیستم عامل)، از نسخه ی 2016 استفاده بفرمایید.

32 بیتی یا 64 بیتی بودن Microsoft Access Database Engine به 32 بیتی یا 64 بیتی بودن آفیس نصب شده روی اون سیستم وابسته است (منبع (Only the registered members can see the link)). در نتیجه شما باید از طریقی مانند این روش (Only the registered members can see the link) تشخیص بدید که چه نسخه ای از آفیس روی سیستم نصب شده. نکته ای که باید مد نظر داشته باشید اینه که امکان نصب همزمان نسخه ی 32 بیتی و 64 بیتی Microsoft Access Database Engine وجود نداره.

برای نصب سایلنت هم مطابق این آموزش (Only the registered members can see the link) عمل بفرمایید.

موفق باشید
آرمین