PDA

View Full Version : تا حالا با اين پيغام خطا برخورد كردين



DlphIran
دوشنبه 06 مهر 1388, 20:20 عصر
سلام

من در برنامه كتابداريم اومدم و مسائل نرمال سازي داده ها رو رعايت كردم .

در هنگام اتصال جداول ،‌تعداد فيلدهاي متصل شده از جداول مختلف به 90 مي رسد ، در هنگام اجراي اين اتصال پيغام خطا ظاهر ميشه كه معني فارسيش دقيقا اينه :

نمي شه يه رديف با حجم 8196 ايجاد كرد در حاليكه حجم مجاز هر رديف 8096 هست.

قبلا هم همچين پيغام داشتم البته بجاي حجم 8196 بود 11367 .

مي دونيد اين حجم اطلاعات درون فيلدهاس كه حدودا همين ميشه ،‌اما چرا حداكثر تعيين مي كنه ،‌مگه نبايد نامحدود باشه ؟
در ضمن من از دلفي 6 ، Adoquery‌و اس كيو ال سرور 2000 استفاده مي كنم .
حرفه اي ها لطفا راهنماييم كنيد

p_ooya
دوشنبه 06 مهر 1388, 21:37 عصر
مگه نبايد نامحدود باشه ؟نه!
حداکثر سایز یک رکورد همینیه که خودتون نوشتید، 8096 (8KB). نکته ای که هست اینه که بانک به شما اجازه ساخت یه همچین جدولی (در مورد شما join) با رکورد سایز بزرگتر از 8096 رو میده. دلیلش هم اینه که فیلدهایی با طول متغیر دارید و مادامی که از 8096 رد نشده باشید مشکلی نشون نمیده. برای شما 3 راه باقی می مونه (طبق سواد ناقص من که اصلاً هم قابل اعتماد نیست !) : یکی اینکه یه مقداری فیلدهای از نوع nvarchar رو س ا ن س و ر کنید یا اینکه هجرت کنید به 2005 و یا اینکه نظر یه آدم با سواد رو بخواین. نکته جالب اینه که در 2005 هم همین محدودیت 8 کیلو بایتی هست ، فقط در مواقع over flow ، این سرریز در یه page دیگه به اسم ROW_OVERFLOW_DATA یا همچین چیزی ذخیره میشه.

DlphIran
سه شنبه 07 مهر 1388, 14:22 عصر
(طبق سواد ناقص من که اصلاً هم قابل اعتماد نیست !)
خواهش میکنم ،

تاحالا چرا کسی از این مشکل حرفی نزده ، یعنی با این مشکل برخورد نکرده بودن .:متفکر:

اگه دوستان دیگه نظر دیگه ای ندن ، چاره ای نیست که چند تا فیلد رو سانسور کنم .