Dot net In Blue

چهارشنبه، فروردین ۰۲، ۱۳۸۵

مشکل دیتابیس اکسز در asp.net

IISاز اول ریختم با همه چیز ور رفتم نشدpermission چیستتوروخدا کمک کنید....(یک سوال متداول !؟!)

.اینم ارورش:

 HTTP 500.100 - Internal Server Error - ASP errorInternet Information ServicesTechnical Information (for support personnel)Error Type:Microsoft JET Database Engine (0x80040E09) Cannot update. Database or object is read-only.

 یا اینکه ارورش اینه

Microsoft OLE DB Provider for ODBC Drivers error '80004005'[Microsoft][ODBC Microsoft Access Driver] Operation must use an updateable query. /tablename_edit.asp, line xxx

این یه مشکل خیلی معمول اه که دوستانی که تازه به یاد گرفتن asp و asp.net مشغول هستند با آن دست به گریبان اند و اما دلیل این مشکل چیست ؟؟ دلیل اینکه روی دیتا بیس اجازه خواندن داده میشود ولی اجازه نوشتن داده نمیشود این است که که هارد دیسک ntfs فرمت شده است و به همین دلیل باید پرمیشن را برای تمام دسترسی ها برای IIS تایید کرد (اگه قبلا این کار لازم نبود انجام بشه احتمالا برای این بوده که هارد دیسکت رو fat32 فرمت شده بوده ! ) راه حل برای ویندوز XP: پنجره my computer را باز کنید .منوی tools را پیدا کنید از آنجا بروید به Folder Options ، تب View بالا بکشید ؛ مطمئن شوید گزینه use simple file sharing(recommendedعلامت نخورده است (معمولا خط آخر ).توجه کنید که این گزینه به صورت پیش فرض علامت خورده است پس علامت آن را بردارید و ok کنید .

 Rooznamechi

 

روی فولدری که هاوی دیتابیس Microsoft Access شما ارست رایت کلید کنید ، وارد properties شوید ، متوجه خواهید شد که تب security نیز به تب های قبلی اضافه شده (به علت کاری که در مرحله قبل کردید).
 تب security را بالا بکشید ، دکمه add را فشار دهید ،کادری مقابل شما باز میشود با نام select users or Groups دکمه advanced را در قسمت پایین سمت چپ فشار دهید (کادر بزرگتر میشود ) دکمه find Now را فشار دهید تا لیست پر شود ، از لیست ASP.Net Machine Account را پیدا کنید روی کلیک کنید و دکمه ok را بزنید ، ASP.Net Machine Account به کادر قبلی اضافه میشود آن را انتخاب کنید . در قسمت Allow روبه روی full Control را علامت بزنید ، دکمه ok را بزنید و مشکل شما حل شده است !
 و اما اگر مشکل شما این است :

 The Microsoft Jet database engine cannot open the file آدرس دیتابیس . It is already opened exclusively by another user, or you need permission to view its data.

 ابتدا مطمئن شوید که دیتابیس شما در زمان اجرا در میکروسافت اکسز باز نیست !

واما اگر روی  لوکال وب سایت شما کار میکند ولی روی اینترنت فقط میتوانید از دیتابیس بخوانید وای اجازه نوشتن را روی دیتابیس اکسز خود ندارید بهترین کار این است که با مسئول پشتیبانی هاستنگ خود تماس بگرید و نحوه تعریف permission  اه write  را روی هاست خود جویا شوید ( هر هاست نحوه مخصوص به خود را دارد ، گاها شما از طریق کنترل پنل میتوانید این پرمشین را تعریف کنید و گاهی نمیتوانید ! )

4 Comments:

  • مشکل من هم دقیقا در مورد درج تو اکسس هست
    اگه ممکنه کمکم کنید
    چون هر کاری کردم باز یه ارور داشتم
    که آخرین ارور مربوط به "inavlid name type"
    یا یه همچین چیزی بود
    ممنون میشم اگه کمکم کنید.

    By Anonymous ناشناس, at ۷:۰۰ قبل‌ازظهر  

  • مشکل من هم دقیقا در مورد درج تو اکسس هست
    اگه ممکنه کمکم کنید
    چون هر کاری کردم باز یه ارور داشتم
    که آخرین ارور مربوط به "inavlid name type"
    یا یه همچین چیزی بود
    ممنون میشم اگه کمکم کنید.

    By Anonymous ناشناس, at ۷:۰۳ قبل‌ازظهر  

  • آقا خیلی تشکر امیدوارم موفق بشی

    خدا پدر و مادرت رو بیامرزه

    By Anonymous ناشناس, at ۱۰:۲۵ قبل‌ازظهر  

  • سپاسگزارم از راهکار خوبتان. تنها اگر در مورد asp کلاسیک هم توضیح بدهید که چه چیز را بایستی add کرد مطلب کامل می شود.

    By Anonymous ناشناس, at ۱:۴۷ بعدازظهر  

ارسال یک نظر

<< Home