PDA

View Full Version : مشکل در اکسس در vb



mostafa_bahar
یک شنبه 12 مهر 1388, 12:53 عصر
عزیزان من یه برنامه نوشتم که در جای تحت شبکه کار می کنه حالا سوال
هر چند وقت برنامه, بانک رو پیدا نمیکنه بعد که بانک رو باز می کنم دستور repair می ده مشکل کجاست امکان داره اطلاعات بپره

saeedvir
یک شنبه 12 مهر 1388, 16:25 عصر
فکر کنم اگه از sql استفاده کنید بهتر باشه

اون طوری می تونید آرس دیتا بیس را آی پی رایانه بدهید

xxxxx_xxxxx
یک شنبه 12 مهر 1388, 21:41 عصر
هر چند وقت DataBase رو Compact کنید.

mostafa_bahar
دوشنبه 13 مهر 1388, 10:11 صبح
یه توضیح راجب compact می دین چه طوری این کاررو بکنم با چه دستوری

mostafa_bahar
دوشنبه 20 مهر 1388, 09:55 صبح
سلام من هنوز مشکل دارم تازه جدیدا چند رکوردم حذف می کنه کمکم کنید

Dr.Bronx
سه شنبه 21 مهر 1388, 12:36 عصر
از توی Reference ها دنبال Microsoft jet and replication objects بگردید و اونو تیک کنید.
بعد:


Dim JRO As New JRO.JetEngine
db1 = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\db1.mdb"
db2 = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\db2.mdb;Jet OLEDB:Engine Type=5"
JRO.CompactDatabase db2, db1

db1 کامپکت میشه و با نام db2 ایجاد میشه.

اینم نحوه کامپکت - بهتر بود یه کوچولو جستجو می کردین
( با تشکر از جناب xxxxx_xxxxx )

mostafa_bahar
سه شنبه 21 مهر 1388, 13:15 عصر
مرسی ولی این کار چی و حل می کنه شما دارین عملا یک پشتیبان می گیرین سوال db2 باید ساخته شه من مشکلم یعنی با این حل می شه

Dr.Bronx
سه شنبه 21 مهر 1388, 14:57 عصر
شما تست کن
چه ربطی به پشتیبان داشت

mostafa_bahar
سه شنبه 21 مهر 1388, 18:57 عصر
آقا مرسی از لطفت
یک سوال دارم هر چند وقت این کارو بکنم تا مشکل حل شه

xxxxx_xxxxx
چهارشنبه 22 مهر 1388, 06:34 صبح
آقا مرسی از لطفت
یک سوال دارم هر چند وقت این کارو بکنم تا مشکل حل شه

هر وقت دیتابیس باز نشد و با خطا مواجه شدید به کاربر پیغام بدید که دیتابیس نیاز به بازسازی داره و این عمل رو روش انجام بدید.


مرسی ولی این کار چی و حل می کنه

این کار Compact + Repair هست. پس کاربر شما دیگه با پیغام Repair مواجه نمیشه.

mostafa_bahar
شنبه 25 مهر 1388, 11:38 صبح
دست همه درد نکنه
ولی وقتی این کارو می کنم پیغام خطا می ده و وقتی در اکسس repair می کنم برنامه درست می شه دوستان و compact انجام می شه ولی من می خوام وقتی خطا داد این کار انجام شه من بانکم سایزش زیاده وگر نه لود می کردم تا امتحان کنید عکس خطا رو فرستادم این خطا چگونه بر طرف می شود

mostafa_bahar
یک شنبه 26 مهر 1388, 09:37 صبح
دوستان کمک کنید

xxxxx_xxxxx
یک شنبه 26 مهر 1388, 15:25 عصر
دستوری در صفحه قبل گذاشته شد که درسته ولی یک اشتباه کوچیکی که کردم این است که تو خط آخر جای db1 و db2 برعکس هست. همین.

حالا این که شما می خواید زمانی که برنامه وقتی خطا داد دستور comapct اجرا شه خب یک on error goto بزارید به دستورات کامپکت پرش کنید. اونجا با چک کردن شماره خطا عمل کامپکت رو انجام بدید.
و بعد هم دیتابیس جدید رو جایگزین قبلی کنید و در انهتا باید برنامه تون Restart شه.

danialafshari
دوشنبه 27 مهر 1388, 05:48 صبح
اول اینکه برای برنامه های بزرگ هیچ وقت نباید از Access استفاده کنی-مخصوصا برای شبکه، چون وقتی چند ماه اونچا کار کرد برنامه خیلی سنگین میشه. بهتره با SQL Server درست کنی چون هم مخصوص شبکه س هم تا 10 میلیون رکورد و راحت بهت جواب میده

mostafa_bahar
دوشنبه 27 مهر 1388, 10:26 صبح
دوستان من مشکل حل نشد وقتی جای db1و db2 را عوض کردن دستور not find file را داد به تصاویر دقت کنید که هم اخطار در اکسس را نشان می دهد و هم در ویبی بعد از اجرای دستورات

xxxxx_xxxxx
دوشنبه 27 مهر 1388, 13:49 عصر
دیتابیستون رو خالی کنید. یا یک نسخه خالی اونو که از ابتدا نگه داشتید ، همراه با اون قسمت از برنامه که مربوط به compact کردن میشه اینجا قرار بدید.

mostafa_bahar
دوشنبه 27 مهر 1388, 18:28 عصر
این خالی بانکه ولی مجبور شدم برا خالی کردن با اکسس ریپیر کنم

xxxxx_xxxxx
سه شنبه 28 مهر 1388, 03:24 صبح
دستور رو به این شکل بنویسید:


Dim JRO As New JRO.JetEngine
db1 = "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password=1362435361362;Data Source=" & App.Path & "\m.mdb"
db2 = "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password=1362435361362;Data Source=" & App.Path & "\NewDB.mdb" & " ;Jet OLEDB:Engine Type=5"
JRO.CompactDatabase db1, db2

mostafa_bahar
سه شنبه 28 مهر 1388, 10:42 صبح
دوست عزیز بازم نشد دیگه نمی دونم چه کنم

Dr.Bronx
سه شنبه 28 مهر 1388, 17:45 عصر
شما مشکلتون از خود دیتابیس هستش
اینجا رو مطالعه کنید تا متوجه ایراد دیتابیس بشید
http://barnamenevis.org/forum/showthread.php?t=142135
موفق و موید باشید

محسن شامحمدی
شنبه 26 تیر 1389, 00:08 صبح
دوستان به جای کد یک روش دیگه هم برای compact and repair کردن هستش.
توی اکسس 2007 رو میگم تو 2003 خودتون پیداش کنید
دکمه گنده - access options بعد current database و بعدش تیک گزینه compact on close رو بزنید
با این کار هر دفعه که ارتباط از دیتابیس قطع می شه فایل یک دور compact می شه.

mostafa_bahar
شنبه 26 تیر 1389, 18:45 عصر
ببینید دوستان من تا آخر اکسس رفتم فهمیدم که به هیچ دردی نمی خوره پیشنهاد میکنم اصلا سراغش نرید و از sql استفاده کنید

M.T.P
شنبه 26 تیر 1389, 19:47 عصر
ببینید دوستان من تا آخر اکسس رفتم فهمیدم که به هیچ دردی نمی خوره پیشنهاد میکنم اصلا سراغش نرید و از sql استفاده کنید

با توجه به تجربه شما در این زمینه:
کدوم نسخه Sql رو پیشنهاد میکنید؟
حالا اکسس هرچیش بد باشه خوبیش اینه که هرجا ببری برای استفاده از بانکش احتیاج به نصب هیچی نیست اما Sql باید Sql Server یا Sql Express نصب کنید. :متفکر:

محسن شامحمدی
شنبه 26 تیر 1389, 20:27 عصر
ضمنا اکسس سیک تر هم هست و نیازی به کلی خرت وپرت نداره به همین خاطر برای برنامه های پرتابل واقعا عالیه

mostafa_bahar
شنبه 26 تیر 1389, 20:41 عصر
مشکل اکسس
1=امنیت پایین چه در یک سیستم و بدتر در شبکه
2=بهم ریختگی بانک در بالا رفتن اطلاعات
3= امکان از بین رفتن اطلاعات برای خودم پیش اومد
4=سرعت پایین در هنگام زیاد شدن اطلاعات
ببینید sql 2008 چون روی seven جواب می ده و کارایی آن بهتر شده

M.T.P
شنبه 26 تیر 1389, 20:54 عصر
در اینکه Sql قدرمند هست شکی نیست اما با این موضوع:

3= امکان از بین رفتن اطلاعات برای خودم پیش اومد
اصلا موافق نیستم. احتمالا تیکه کدی باعث حذف بخشی از اطلاعاتتون شده.


ببینید sql 2008 چون روی seven جواب می ده و کارایی آن بهتر شده
ببینید من میخوام یه بانک کنار فایل اجراییم داشته باشم و برنامه تحت شبکه هم نیست ، میخوام که کاربر وقتی Sql رو نصب کرد دیگه احتیاج به Atach کردن و اینطور چیزا نباشه و مثل بانک اکسس با ConnectionString راه بیفته.
چطور میشه؟

mostafa_bahar
یک شنبه 27 تیر 1389, 19:25 عصر
تکه کد نبوده با قطع برق این اتفاق افتاد

mostafa_bahar
یک شنبه 27 تیر 1389, 19:28 عصر
تکه کد نبوده بعد از قطع برق REPAIR داد و اطلاعات خداحافظ شد

M.T.P
یک شنبه 27 تیر 1389, 20:56 عصر
خب این موضوع به نظرم واسه همه بانک ها فکر کنم همینطور باشه ، یادمه تو یه سایتی سر این موضوع کلی بحث شده بود ، البته قصور از خود ما هم هست ، موضوع مهم پشتیبان گیری رو نباید از یاد برد.

mostafa_bahar
شنبه 02 مرداد 1389, 09:50 صبح
تو sql این اتفاق من ندیدم بیافته