שלח תשובה

זירת השאלות

512
צפיות
16
תשובות

בעיות עם מסדי נתונים…

,‏ 19 בנובמבר, 2004

משום מה יש לי לאחרונה בעיות באתר שלי…
בעיקר שגיאות עם מסדי נתונים…
מאט את הגלישה באתר שלי…
ולא נכנס לי לדפים מסויימים (התחיל לאחרונה)…
שגיאה אחרונה שהצלחתי להעתיק:


Microsoft OLE DB Provider for ODBC Drivers error '80040e4d'

[Microsoft][ODBC Microsoft Access Driver] Too many client tasks.

/hbll2004/sikumim2/Sdashim.asp, line 222


או עוד שגיאות כמו- על זמן עיבוד הסקריפט בשרת- חרג מהמגבלה, וכדומה…
(השרת מאוכסן בינתיים בוובסאמבה), מישהו יכול לדעת מה קרה..?!!?

תגיות:

16 תשובות

  1. אוריקס הגיב:

    "Too many client tasks"
    כלומר יותר מידי משתמשים מחוברים ל DB שלך. אני מניח שזה אקסס, לא?
    בעיית זמן עיבוד הסקריפט נגרמת כנראה מאותה בעייה.
    אתה סוגר חיבורים?

  2. Hagai2005 הגיב:

    מעניין…
    וכן, עד כמה שידוע לי…
    אני לא שוכח לסגור חיבורים…
    יכול להיות שזו בעיית תעבורה?

  3. prince01 הגיב:

    שאלה בהקשר לנושא זה
    כמה זה "יותר מדי" חיבורים למסד הנתונים (אקסס) ?
    אם אני סוגר את כל החיבורים, השגיאה תצוץ גם אצלי ?

    תודה

  4. Hagai2005 הגיב:

    מהו המשפט…
    שמוחק עוגיות?
    אני פשוט צריך את זה לדף "יציאה מהמערכת"…
    ואני לא זוכר מה המשפט?

    אודה לכם אם תעזרו לי,
    חגי.

  5. זהר פלד הגיב:

    אתה לא מוחק עוגיות.
    אתה פשוט מוריד להן את תאריך התפוגה, ואז הן נמחקות ברגע שנסגר הדפדפן.
    בנוסף, אתה יכול לאפס את הערכים בתוכן למחרוזות ריקות.

  6. Hagai2005 הגיב:

    מוזר…
    איך זה עובד פה? (באתר הזה..)
    כשיש יציאה מהמערכת? מה עשו כאן?
    ואם בכלל לא הנגדרתי תאריך תפוגה לעוגיייה??

  7. זהר פלד הגיב:

    עוגיה ללא תאריך תפוגה
    תמחק ברגע שיסגר חלון הדפדפן שדרכו היא נכתבה.
    אני לא יודע איך עשו את זה כאן, אבל סביר להניח שבאותה הצורה שתיארתי לך.

  8. Hagai2005 הגיב:

    מוזר…
    כי אני יודע, שאני יכול להגדיר עוגייה (עם תאריך תפוגה) – כדי לשמור פרטי משתמש.
    ואם המשתמש רוצה לצאת מהמערכת, אז הוא נכנס לדף שמוחק את כל העוגיות שנוצרו ע"י האתר הזה… (וכן, זה מה שאני רוצה..).

  9. BuildHome הגיב:

    אז אתה
    מגדיר תאריך תפוגה שעבר לעוגיה, לדוגמא:
    Response.Cookies("cookieName").Expires = Now()-1

  10. Hagai2005 הגיב:

    תודה! שאלה חדשה!
    אני מנסה לבנות מערכת חיפוש שיש בה כמה משתנים…
    למשל, יש לי תא אחד שהגולש יכול להקליד שם (עמודה מס' 1 במסד- NAME) ועוד תיבת בחירה (באותו טופס) שאמור לחפש מעמודה אחרת במסד (SUBJECT)…
    איך בדיוק אני כותב את השאילתה?
    למשל, השם = Q
    והתיבת בחירה (SELECT) =
    By
    הנה שאילתה שמסתמכת רק על ה-Q:


    SQL = "select * from Downloads where Name like '%" &request.querystring("q") &"%' Order By ID DESC"

    אודה מאוד למי שיוכל לעזור לי…
    תודה,
    חגי.

  11. זהר פלד הגיב:

    קבל
    לינק למאמר.

    אם לא לזה התכוונת, אז לא הבנתי את השאלה.

  12. Hagai2005 הגיב:

    תודה… רק ש…
    ישלי בעיה קטנה…
    בתוצאות חיפוש, אני מחלק את התוצאות לדפים..
    ואם למשל המשתמש מחפש " " (ז"א שלא הוקלד כלום), הוא מוצא לו את כל ההורדות במקצוע שהיה בתיבת בחירה.
    כמובן שהוא מציג את כל התוצאות מהתיבת בחירה, ומראה כמה דפים יש – בדף הראשון הוא מראה שיש 3 עמודים מהמקצוע שנבחר, אך כשאני מעביר דף- לדף הבא, פתאום זה מציג לי 20 עמודים (עם כל ההורדות שיש במסד נתונים, ולא רק במקצוע…).מה עושים?!
    ———————————————————————-
    שאלה שנייה…
    אם בתיבת חיפוש יש לגולש אפשרויות בחירה: (לבחור מקצוע אחד):
    למשל:
    אזרחות
    היסטוריה
    ספרות
    לשון
    –הכל–
    איך אני מגדיר פקודה שאם הגולש בחר הכל, אז זה יחפש ב"כל" העמודה של המקצועות, ולא שיחפש במסד מקצוע שרשום בו: "הכל"…?
    תודה,
    חגי.

  13. זהר פלד הגיב:

    לגבי השאלה הראשונה,
    צריך לראות קצת קוד כאן. רק את הקוד הרלוונטי בבקשה.

    לגבי השאלה השניה, ברגע שהגולש בחר "הכל", פשוט תוריד את התנאי הזה מה WHERE.

  14. Hagai2005 הגיב:

    שתי שאלות חדשות!
    1. בקשר לשאלה הקודמת שלי…
    התוצאות שזה מוצא במערכת, מוצגות בדף הראשון, ומראה באמת כמה עמודים הוא מצא, אך כשאני מעביר דף (לדף הבא), פתאום הוא מראה לי את כל ההורדות במסד.
    הנה קוד רלוונטי:


    <%
    set cn = server.CreateObject("ADODB.Connection")
    set rs = Server.CreateObject("ADODB.RecordSet")
    cn.Open Samples_DSN
    sql="SELECT * FROM Downloads where Name like '%" &q &"%' AND Type like '%" &T &"%' AND Class like '%" &C &"%' AND Subject like '%" &By &"%' Order BY ID DESC"

    PAGE = Request.QueryString("page")
    if PAGE = "" Then PAGE = 1 'לבדוק שבאמת נשלח מספר הדף הנוכחי
    NumOfRecInPage = Request.QueryString("numofrec")
    if NumOfRecInPage = "" Then NumOfRecInPage = 25 'שנה את המספר על מנת לבחור כמה רשומות להציג בדף אחי

    rs.PageSize = NumOfRecInPage
    rs.CacheSize = rs.PageSize

    rs.Open SQL,cn,3,1

    NumOfRec = rs.RecordCount
    NumOfPages = rs.PageCount
    CurrentPage = PAGE
    rs.AbsolutePage = CurrentPage

    For i = 1 to NumOfRecInPage 'לעבור על הסט רשומות כמספר הרשומות שבדף אחד
    %>

    זה נראה לי קוד רלוונטי, אך יש לו המשך, לא נראה לי שהוא די רלוונטי, אך אם תרצו אחשוף את המשך הקוד.
    זו הייתה השאלה הראשונה שלי…
    ——————————————-
    שאלה אחרת, מתמקדת בכמות התוצאות שזה מציג בדף…
    כרגע, אני מגדיר בקוד כמה תוצאות יהיו בדף.
    בקוד למעלה, וכאן, הנה:


    NumOfRecInPage = "" Then NumOfRecInPage = 25

    הבעיה היא… שבשורת הכתובת (ה-QueryString), זה ניתן לשינוי ע"י הגולש.
    למשל:
    הוא יכול לכתוב 1, ואז זה יציג את התוצאות באיזה 100 עמודים, האם ישנה דרך לשמור את מספר העמודים במשתנה, מערך, או מה שזה לא יהיה?
    אודה לעונים,

    במידה והשאלות לא מובנות,
    אנא רישמו את תגובתכם.

שלח תשובה