PDA

View Full Version : اجرای sqlite در سیستم عامل های 32 و 64 و نسخه مناسب برای استفاده در پروژه



negar.rafie
پنج شنبه 19 شهریور 1394, 10:54 صبح
سلام
چد تا سوال دارم ممنون میشم پاسخ بدید
1- برای اجرای صحیح روی سیستم هدف کدام dll ها باید کنار فایل اجرای قرار بگیرند؟
ایا فقط System.Data.SQLite.dll کافی است ؟یا باید SQLite.Interop.dll را هم قرار داد؟من در چند تا سیستم فقط System.Data.SQLite.dll را قرار دادم بدون مشکل کار کرد ولی داخل چندتا تاپیک دوستان گفته بودند که باید SQLite.Interop.dll را هم قرار بدید در صورتی که من بدون SQLite.Interop.dll هم تست کردم جواب گرفتم حالا بالاخره قرار بدیم یا نه؟

2- درباره Visual C++‎ 2005 SP1 runtime چی؟
در داخل سایت خوندم این هم باید نصب باشه ولی من بدون نصب این هم تست کردم جواب گرفتم حالا این را باید نصب کنیم یا نه؟

3- برای اینکه در ویندوز های 32 و 64 به مشکل برنخوریم چکار کنیم؟من از نسخه 32 بیتی داخل پروژم استفاده کردم

4- من نسخه ای که مربوط به دات نت فریم ورک 4 را دانلود کردم(منظورم فایل ستاپ sqlite برای اضافه کردن رفرنس به پروژه) ولی پروژم را با دات نت 3.5 بیلد کردم ایا مشکلی نداره از نظر تخصصی؟التبه من تست کردم مشکلی نداشت از بابت اجرا از لحاظ کلی می خوام بدونم مشکلی نداره؟

دوستان ممنون میشم اگر کسی به صورت تخصصی کار کرده و تجربه داره به این سوالات پاسخ بده

negar.rafie
جمعه 20 شهریور 1394, 09:12 صبح
ممنون میشم راهنمایی کنید

negar.rafie
شنبه 21 شهریور 1394, 00:04 صبح
چرا کسی پاسخگو نیست؟

negar.rafie
یک شنبه 22 شهریور 1394, 09:04 صبح
دوستانی که کار کردن بی زحمت پاسخ بدن

Mahmoud Zaad
یک شنبه 22 شهریور 1394, 10:05 صبح
سلام
1- بعضی مواقع نیازه مثلا با سیستم 32 بیتی تست کردم نیاز نبود با 64 نیاز بود. البته مطمئن دقیقا به خاطر 32 یا 64 بیت بودن باشه.
2- برای کاربر نهایی نیاز نیست. البته سیستم هایی که من باهاشون کار کردم این رو داشتن! با تست کردن مشخص میشه.
3- برای ویندوزهای 32 بیت باید در سیستم 32 بیت و نسخه sqlite 32 بیت پروژه رو بیلد کنید و برای 64 بیت باید در سیستم 64 و نسخه 64 بیت Sqlite پروژه رو بیلد کنید.
4- تست نکردم!

negar.rafie
یک شنبه 22 شهریور 1394, 13:34 عصر
پاسخ 1 و 3 شما را همون طور که گفتم من تست کردم و مشکلی نداشتم و این کاری که شما گفتید را انجام ندادم
نمیدونم

ahmad1345
یک شنبه 22 شهریور 1394, 14:33 عصر
در قسمت پروپرتیس پروژه و در قسمت platform target بیت(32) را انتخاب کنید.

negar.rafie
شنبه 28 شهریور 1394, 19:36 عصر
من هنوز به جواب حرفه ای نرسیدم دوستان
داخل سایت سرچ میکردم دیدم جناب fastcode یه پاسخی مبنی بر مطرح کردن ین مشکل در سایت stackoverflow کردن
لینک و تاپیک زیر را ببینید من متوجه نمیشم پاسخ درست کدومه:
http://stackoverflow.com/questions/2605490/system-data-sqlite-net-4

Mahmoud Zaad
شنبه 28 شهریور 1394, 20:32 عصر
پاسخ درست موردی هست که کنارش یه تیک داره

negar.rafie
شنبه 28 شهریور 1394, 20:47 عصر
این کار را کردم و platform target را روی any cpu تنظیم کردم روی 64 بیت اجرا نشد
ولی روی 32 بیت تنظیم کردم شد در صورتی که روی 32 باشه این کد را هم در فایل کانفیگ قرار ندهیم باز هم اجرا میشه
نمیدونم

Mahmoud Zaad
شنبه 28 شهریور 1394, 20:57 عصر
درسته روی any cpu که قاعدتاً باید برای همه نوع cpu کار کنه (به قول شما کار بده!) کار نمی کنه ولی روی x86 روی همه cpuها جواب میده. در کل اون موارد دیگه هم مشکل خاصی نیستند با تست روی چندتا سیستم دقیقاً مشخص میشه که نیازهای برنامه چی هستند. بنابراین جای نگرانی نداره.

abdullah20
دوشنبه 30 شهریور 1394, 13:27 عصر
اولا یک نکته را خدمت شما عرض کنم اونم اینکه شما در داخل سایت که جستجو میکنید شاید یه شخصی پروژش مشکلی داشته که به فلان پیغام برخورده و دلیل نمیشه که پروژه شما هم به مشکل بربخوره

1- فقط System.Data.SQLite.dll کافی است
2- نیاز به Visual C++‎‎‎‎‎‎‎ 2005 SP1 runtime نیست
3- اینجا یکم جای بررسی داره:
ببینید شما اگر در داخل پروژتون از sqlite استفاده نکرده بودید PlatForm Target روی هر چیزی که باشه بدون مشکل روی سیستم های 32 و 64 بیتی اجرا میشه که باید روی anycpu باشه چرا چون در سیستم 32 بیتی برنامه شما به عنوان 32 بیتی اجرا میشه و در سیستم 64 بیتی هم به عنوان 64 بیتی
ودر اینجا قضیه فرق میکنه شما از یک کامپوننت 32 بیتی استفاده کردید و اگر روی anycpu قرار بدید در ویندوز 32 بیتی مشکلی نداره ولی در ویندوز 64 بیتی به مشکل برمیخویرید چرا در سیستم 64 بیتی به مشکل برمیخورید: چون همون طور که گفتم اگر روی anycpu باشه برنامه تحت عنوان یک برنامه 64 بیتی اجر میشه و یک پروسه 64 بیتی نمیتونه یه dll 32بیتی را لود کنه
برای همین باید PlatForm Target روی 32 باشه که در سیستم 32 بیتی به عنوان 32 بیتی اجرا میشه و در سیستم 64 بیتی به عنوان برنامه WoW64
4- خیر مشکلی نداره ولی بهتره روی دات نت 4 بزارید