PDA

View Full Version : کم نشدن حجم فیزیکی دیتابیس اکسس پس از پاک کردن رکوردها



Ali1400
یک شنبه 09 دی 1386, 00:39 صبح
با سلام
من در وب سایتم که با vb.net نوشتم و از بانک اکسس استفاده کردم ، وقتی که تعدادی از رکوردهای دیتابیس را پاک می کنم یا اینکه آپدیت می کنم (حجم رکورد آپدیت شده کمتر از قبل می باشد) ، با اینکه باید حجم دیتابیسم که مثلا 10 مگابایت بوده و حالا با این تغییرات باید به 5 مگابایت برسد ولی با این وجود که رکوردها تعدادشان کم شده یا مقادیر داخل فیلدها کاهش پیدا کرده اما حجم دیتا بیس همچنان 10 مگابایت است.

حال برای واقعی شدن حجم دیتابیس (از طریق وب از چه کدی باید استفاده کنم البته اگر امکانش هست )

البته این را می دانم که اگر به فایل دسترسی داشته باشیم از طریق خود اکسس و از منوی
Tools\DataBase Utilities\Compact and Repair DataBase
می توان این پاکساری را انجام داد ، ولی من این کار را از طریق وب و کدهای vb یا sql برای اکسس می خواهم بدانم


باب تشکر از مساعدت دوستان

Ali1400
چهارشنبه 12 دی 1386, 03:12 صبح
کسی نبود به من کمک کنه.

Behrouz_Rad
چهارشنبه 12 دی 1386, 10:26 صبح
لطفا سوالاتتون رو در بخش مناسب مطرح بفرمایید.
--------------------------------------------------------
دیتابیس Access رو هر چند وقت یک بار باید Compact کنی تا فضای هرز ایجاد شده به دلیل اعمال انجام شده بر روی رکوردها از بین بره.
بدین منظور باید ازکتابخانه ی JRO استفاده کنی.
Microsoft Jet and Replication Objects X.X library رو به پروژت اضافه کن.
JRO.JetEngine رو وارد برنامت کن و از متد CompactDatabase شی ایجاد شده از این کلاس استفاده کن.

موفق باشید.

Ali1400
دوشنبه 17 دی 1386, 02:18 صبح
با تشکر از بهروز عزیز
در بخش Access سرچ کردم ولی راه حلهای آنها مبتنی بر دسترسی به فایل اکسس بود و راه حل مبتنی بر web نبود.
در ضمن بهروز جان اگر امکان دارد یک نمونه کد از نحوه استفاده از متد CompactDatabase برام بنویس چون نمی دانم چطوری از این شی استفاده کنم

Behrouz_Rad
سه شنبه 18 دی 1386, 16:14 عصر
سعی کن می تونی. یک خط بیشتر نیست.
متد CompactDatabase رو فراخوانی کن. همین!

موفق باشید.

Ali1400
چهارشنبه 19 دی 1386, 14:46 عصر
من Microsoft Jet and Replication Objects X.X library را به پروژه ام اضافه کردم و در ابتدای صفحه هم Imports JRO را فراخوانی کردم ، ولی نتوانستم از متد گفته شده شما استفاده کنم خواهشن یک مثال (قابل فهم برای مبتدی ها) از نحوه استفاده برای مثلا فایل اکسس test.mdb بفرمایید.
در ضمن می خواستم بدانم که این کار آیا صدمه ای به دیتابیس نمیزند یعنی قابل اطمینان جهت استفاده واقعی بدون دردسر می باشد