PDA

نسخه کامل مشاهده نسخه کامل : مشکل در هنگام اجرای برنامه های بانک اطلاعاتی Access در ویندوزهای 64 بیتی



MTPROG
02-08-2009, 09:11
یه برنامه بانک اطلاعاتی که با Access کار میتونه تو ویندوزهای 32 بیتی راحت نصب میشه و کار میکنه
اما تو ویندوزهای 64 بیتی نصب میشه اما هنگام اجرای برنامه موقع اتصال به بانک اطلاعاتی خطا میده

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

موقع Setup گیری در بخش خصوصیات ستاب گزینه TargetPlatform رو روی x64 نیز تنظیم کردم ولی مشکل حل نشد.
روی سیستم مقصد یکبار آفیس 2003 و یکبار آفیس 2007 رو هم نصب کردم ولی بازم مشکل حل نشد
چطور میشه این مشکل رو حل کرد؟

_H2_
02-08-2009, 10:41
سلام

Microsoft.jet.OLEDB4 Not regesterd
من فقط از روی پیغام خطایتان میگویم ...
به نظر میرسد OLEDB4 روی سیستم نصب نیست یا از نسخه های پایین تر OLEDB در رشته اتصال استفاده کنید (مثلاً 3.51) یا این نسخه را نصب کنید ...

=====

ولی یک یک جستجوی کوچکی در سایت مایکروسافت کردم و سند زیر را یافتم:
support.microsoft.com/kb/957570
طبق این سند بسته فوق برای سیستم های 64 بیتی عرضه نشده است.

ولی با این وجود توانستم نسخه OLEDB4-SP8 را برای WinServer2003-64bit پیدا کنم:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

=====

برای اینکه متوجه شوید چه ورژن OLE با ویندوز نصب شده و یا الآن دارید میتوانید دنبال فایلهای Msjter*.dll یا Msjint*.dll بگردید.

=====

در جواب دو سوال جداگانه از مایکروسافت در این خصوص هم آمده که میتوانید platform target پروژه تان را روی x86 بگذارید تا برنامه به درستی اجرا شود!!!
ولی نمیدانم این راه حل فقط برای زمان کدنویسی داخل VS در محیط های 64 بیتی کاربرد دارد یا اینکه میتواند به خودی خود برنامه را در محیط 64 بیتی هم اجرا پذیر کند.
باید تست کنید.

=====

تا اینجا چیزهایی که گفتم بر اساس مستندات مایکروسافت بوده ولی ...
خوب چرا از SQL Server Express 2005/2008 استفاده نمیکنید؟

به راحتی میتوانید همراه Setup نصبشان کنید و به علت Express بودن میتوانید بدون attach دایم و با گزاره AttachDbFilename در ConnectionString به فایل مورد نظر وصل شوید (درست مثل فایلهای JET-mdb) و با وجود Express بودن باز هم در مثابل موتور JET قابلیت های بسیار بیشتری را در اختیارتان میگذارد.

=====

موفق باشید.

MTPROG
02-08-2009, 12:31
به نظر میرسد OLEDB4 روی سیستم نصب نیست یا از نسخه های پایین تر OLEDB در رشته اتصال استفاده کنید (مثلاً 3.51) یا این نسخه را نصب کنید

من از OLEDB4 استفاده کردم.
در ضمن اکسس 2003 و یا 2007 هر روشون تو x64 کار میکنن میکنن اگر هم درایور اکسس ریجستر نشده باشه با نصب اکسس رجیستر میشه


خوب چرا از SQL Server Express 2005/2008 استفاده نمیکنید؟
اگر تو هنگام setup گیری توجه به فایلش توجه کرده باشید اینطوریه
SQL SERVER 2005 EXPRESS Edition SP2(x86)

نسخه Express برای x64 کار نمیکنه ولی Enterprise کار میکنه

لینکهایی رو که دادید امتحان میکنم نتیجه رو میگم.

MTPROG
02-08-2009, 12:43
اینکها کار نکرد
خطای عدم تطبیق ورژن سیستم عامل

_H2_
02-08-2009, 15:54
سلام

در ضمن اکسس 2003 و یا 2007 هر روشون تو x64 کار میکنن میکنن اگر هم درایور اکسس ریجستر نشده باشه با نصب اکسس رجیستر میشه
بهرحال من تنها راه حلی که در بخش سوالات مایکروسافت پیدا کردم همان بود که دو بار گفته بود برنامه را 32 بیتی کامپایل کنید !!!
برای خودم هم عجیب است ولی در این مورد کمک دیگری نمیتواتنم بکنم.



نسخه Express برای x64 کار نمیکنه
نه اینطور نیست، فقط به صورت پیش فرض با VS کپی نمیشود!

از لینکهای زیر میتوانید نسخه 32 و 64 را جداگانه دانلود کنید:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

در واقع دو پک وجود دارد، پک کوچکتر مخصوص سیستم های 32 بیتی است و پک بزرگتر هم روی سیستم های 32 و هم روی سیستم های 64 بیتی قابل نصب است.

یعنی شما با سیستم های موسوم به x86 و x64 مشکلی ندارید، فقط Express برای IA64 عرضه نشده. (Intel Itanium architecture 64)
که به هرحال با توجه به تاپیک فعلی شما باز هم express گستره عملیاتی و امکاناتی بیشتری را از JET در اختیار قرار میدهد!:31:

MTPROG
03-08-2009, 09:04
بهرحال من تنها راه حلی که در بخش سوالات مایکروسافت پیدا کردم همان بود که دو بار گفته بود برنامه را 32 بیتی کامپایل کنید !!!


در هر دو حالت کامپایل 32و64 هیچ فرقی نکرد


از لینکهای زیر میتوانید نسخه 32 و 64 را جداگانه دانلود کنید:

ممنون نمیدونستم express برای 64 بیتی هم کار میکنه ازش استفاده میکنم

من برنامه های جدیدی که مینویسم همه ش با SQL مینویسم ولی این برنامه اکسسی یکم قدیمی تره و چون سورش زیاده به این راحتی تبدیل به SQL نمیشه و زمان میبره


عکسهایی از DataSource هر دو سیستم عامل XP32 ,Visata64 گرفتم دیدنش خالی از لطف نیست

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

اگه به عکسه توجه کنید تو XP تمامی درایور ساپورت میشه ولی تو Vista64 فقط SQL server رو ساپورت میکنه
در کل مثل اینکه مشکل قابل حل شدن نیست:41:
نمی دونم هدف مایکروسافت از این عمل که تو Vista 32 ساپورتش میکنه ولی تو Vista 64 نه، چیه؟

_H2_
03-08-2009, 10:49
سلام
همانطور که گفتم اطلاعات بیشتری ندارم و من کمک بیشتری نمیتوانم بکنم، شاید کس دیگری بداند ...
لینک جواب مایکروسافت: (به تاریخ کمتر از یک ماه قبل)

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید