פתרון בעיות הרשאות, הודעות שגיאה של Microsoft והודעות שגיאה MySQL ב- Dreamweaver.

הערה:

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

פתרון בעיות בהרשאות

אחת הבעיות הנפוצות ביותר היא הרשאות בלתי מספיקות לתיקיות ולקבצים. אם מסד הנתונים נמצא במחשב Windows 2000 או Windows XP ומתקבלת הודעת שגיאה כשאתה מנסה להציג עמוד דינמי בדפדפן אינטרנט או בתצוגת Live, ייתכן שהשגיאה נגרמת כתוצאה מבעיית הרשאות.

לחשבון Windows שמנסה לגשת למסד הנתונים אין מספיק הרשאות. ייתכן שהחשבון הוא חשבון Windows אנונימי (כברירת מחדל, IUSR_computername‎) או חשבון משתמש מסוים, אם העמוד אובטח לגישה מאומתת.

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

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

בנוסף, אם מפנים לנתיב של מסד נתונים זה באמצעות UNC (\\Server\Share)‎, יש לוודא ש- Share Permissions נותן לחשבון IUSR_computername‎ גישה מלאה. יש לבצע צעד זה גם אם השיתוף מתבצע בשרת האינטרנט המקומי.

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

בדיקה או שינוי של הרשאות קובץ מסד נתונים (Windows XP)

  1. ודא שיש לך זכויות מנהל במחשב.
  2. ב- Windows Explorer, אתר את קובץ מסד הנתונים או את התיקייה שכוללת את מסד הנתונים, לחץ לחיצה ימנית על הקובץ או על התיקייה ובחר Properties.
  3. בחר בכרטיסייה Security.

    הערה:

    יש לבצע צעד זה רק במערכת קבצים NTFS. במערכת קבצים FAT, תיבת הדו-שיח אינה כוללת את הכרטיסייה Security.

  4. אם החשבון IUSR_computername‎ אינו מופיע ברשימה Group או User Names, לחץ על הלחצן Add כדי להוסיפו.
  5. בתיבת הדו-שיח Select Users או Groups, לחץ על Advanced.

    תיבת הדו-שיח משתנה להצגת אפשרויות נוספות.

  6. לחץ על Locations ובחר בשם המחשב.
  7. לחץ על Find Now להצגת רשימה של שמות חשבונות שמשויכים למחשב.
  8. בחר בחשבון IUSR_computername‎ ולחץ על OK. לאחר מכן לחץ שוב על OK כדי לנקות את תיבת הדו-שיח .
  9. כדי להקצות לחשבון IUSR הרשאות מלאות, בחר באפשרות Full Control ולחץ על OK.

בדיקה או שינוי של הרשאות קובץ מסד נתונים (Windows 2000)

  1. ודא שיש לך זכויות מנהל במחשב.
  2. ב- Windows Explorer, אתר את קובץ מסד הנתונים או את התיקייה שכוללת את מסד הנתונים, לחץ לחיצה ימנית על הקובץ או על התיקייה ובחר Properties.
  3. בחר בכרטיסייה Security.

    הערה:

    יש לבצע צעד זה רק במערכת קבצים NTFS. במערכת קבצים FAT, תיבת הדו-שיח אינה כוללת את הכרטיסייה Security.

  4. אם החשבון IUSR_computername‎ אינו מופיע ברשימת חשבונות Windows בתיבת הדו-שיח File Permissions, לחץ על הלחצן Add כדי להוסיפו.
  5. בתיבת הדו שיח Select Users,‏ Computers או Groups, בחר בשם המחשב מתפריט Look In להצגת רשימה של שמות חשבונות שמשויכים למחשב.
  6. בחר בחשבון IUSR_computername‎ ולחץ על Add.
  7. כדי להקצות לחשבון IUSR הרשאות מלאות, בחר באפשרות Full Control מתפריט Type Of Access ולחץ על OK.

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

    למידע נוסף על חשבון IUSR והרשאות שרת אינטרנט, ראה ה- TechNotes הבאים ב- Adobe Support Center:

פתרון בעיות של הודעות שגיאה של Microsoft.

הודעות שגיאה אלה של Microsoft עלולות להופיע כשמבקשים עמוד דינמי מהשרת בעת שימוש בשרת Internet Information Server ‏(IIS) יחד עם מערכת מסד נתונים Microsoft כגון Access או SQL Server.

הערה:

Adobe אינה מספקת תמיכה טכנית לתוכנות צד שלישי כגון Microsoft Windows ו- IIS. אם מידע זה אינו פותר את הבעיה, אנא פנה לתמיכה הטכנית של Microsoft או בקר באתר התמיכה של Microsoft בכתובת ‎http://support.microsoft.com/‎.

למידע נוסף על שגיאות 80004005, ראה ‎“INFO: Troubleshooting Guide for 80004005 Errors in Active Server Pages and Microsoft Data Access Components (Q)”‎, באתר Microsoft בכתובת ‎306518http://support.microsoft.com/default.aspx?scid=kb;he-il;Q306518.

[הפניה]80004005—שם מקור הנתונים לא נמצא ולא צוין מנהל התקן המהווה ברירת מחדל

שגיאה זו מתרחשת כשאתה מנסה להציג עמוד דינמי בדפדפן אינטרנט או בתצוגת Live. ייתכן שהודעת השגיאה תשתנה בהתאם למסד הנתונים ולשרת האינטרנט. הודעות שגיאה אחרות כוללות:

  • ‎80004005—Driver's SQLSetConnectAttr failed

  • ‎80004005—General error unable to open registry key 'DriverId'

    להלן סיבות ופתרונות אפשריים:

  • העמוד אינו מוצא את DSN. ודא שיצרת DSN גם בשרת האינטרנט וגם במחשב המקומי.

  • ייתכן ש- DSN הוגדר כשם מקור נתונים של המשתמש ולא כשם מקור נתונים של המערכת. מחק את שם מקור הנתונים של המשתמש וצור שם מקור נתונים של מערכת במקומו.

הערה:

אם לא תמחק את שם מקור הנתונים של המשתמש, שמות DSN הכפולים יגרמו לשגיאת ODBC חדשה.

בעת שימוש ב- Microsoft Access, קובץ מסד הנתונים (‎.mdb) עלול להיות נעול. ייתכן שהקובץ נעול מפני ש- DSN עם שם אחר ניגש למסד הנתונים. ב- Windows Explorer, חפש את קובץ הנעילה (‎.ldb) בתיקייה שכוללת את קובץ מסד הנתונים (‎.mdb) ומחק את הקובץ ‎.ldb אם DSN נוסף מצביע על אותו קובץ מסד נתונים, מחק את ה- DSN כדי למנוע מהשגיאה להתרחש שוב. אתחל את המחשב לאחר ביצוע שינויים.

[הפניה]80004005—לא ניתן להשתמש ב'(לא ידוע)'; הקובץ נמצא כבר בשימוש

שגיאה זו מתרחשת כשאתה מנסה להציג עמוד דינמי בדפדפן אינטרנט או בתצוגת Live בעת שימוש במסד נתונים של Microsoft Access. גרסה נוספת של הודעת שגיאה זו היא ‎“80004005—Microsoft Jet database engine cannot open the file (unknown)”‎.

כנראה שהסיבה לכך היא בעיית הרשאות. להלן סיבות ופתרונות אפשריים אחדים:

  • ייתכן שלחשבון ששרת Internet Information Server (בדרך כלל, IUSR) משתמש בו אין הרשאות Windows מתאימות למסד נתונים מבוסס קובץ או לתיקייה שכוללת את הקובץ. בדוק את ההרשאות של חשבון IIS ‏(IUSR) במנהל המשתמשים.

  • ייתכן שאין לך הרשאה ליצירה ולהשמדה של קבצים זמניים. בדוק את ההרשאות בקובץ ובתיקייה. ודא שיש לך הרשאה ליצירה ולהשמדה של קבצים זמניים. בדרך כלל, קבצים זמניים נוצרים באותה תיקייה שמסד הנתונים ממוקם בה, אך ייתכן שקובץ ייווצר בתיקיות אחרות, כגון ‎/Winnt.

  • במערכת Windows 2000, ייתכן שיש לשנות את ערך time-out ל- DSN של מסד הנתונים Access. לשינוי ערך time-out, בחר בתפריט Start > Settings > Control Panel > Administrative Tools > Data Sources (ODBC)‎. לחץ על הכרטיסייה System, סמן את DSN המתאים ולחץ על הלחצן Configure. לחץ על הלחצן Options ושנה את הערך Page Timeout ל- 5000.

    אם אתה עדיין נתקל בבעיות, עיין במאמרים הבאים של Microsoft Knowledge Base:

  • PRB: 80004005 "Couldn't Use '(unknown)'; File Already in Use" at http://support.microsoft.com/default.aspx?scid=kb;he-il;Q174943.

  • PRB: Microsoft Access Database Connectivity Fails in Active Server Pages at http://support.microsoft.com/default.aspx?scid=kb;he-il;Q253604.

  • PRB: Error "Cannot Open File Unknown" Using Access at http://support.microsoft.com/default.aspx?scid=kb;he-il;Q166029.

[הפניה]80004005—ההתחברות נכשלה()

שגיאה זו מתרחשת כשאתה מנסה להציג עמוד דינמי בדפדפן אינטרנט או בתצוגת Live בעת שימוש ב- Microsoft SQL Server.

שגיאה זו נוצרת על-ידי SQL Server אם הוא לא מקבל או אינו מזהה את החשבון או הסיסמה לכניסה למערכת שנמסר (בעת שימוש באבטחה רגילה) או אם חשבון Windows אינו מבצע מיפוי לחשבון SQL (בעת שימוש באבטחה מובנית).

להלן פתרונות אפשריים:

  • בעת שימוש באבטחה רגילה, שם החשבון והסיסמה עלולים להיות שגויים. נסה להשתמש בחשבון Admin ובסיסמת המערכת (UID= “sa”‎ וללא סיסמה), שיש להגדיר בשורת מחרוזת החיבור. ‏(DSN אינו שומר שמות משתמש וסיסמאות).

  • בעת שימוש באבטחה מובנית, בדוק את חשבון Windows שקורא לעמוד וחפש את חשבון SQL הממופה שלו (אם הוא קיים).

  • SQL Server אינו מתיר להשתמש בקו תחתון בשמות חשבונות SQL. אם מנסים לבצע מיפוי ידני של החשבון Windows IUSR_machinename לחשבון SQL באותו שם, הפעולה נכשלת. בצע מיפוי של כל חשבון שמשתמש בקו תחתון לשם חשבון ב- SQL שאינו משתמש בקו תחתון.

[הפניה]80004005—הפעולה חייבת להשתמש בשאילתה שניתנת לעדכון

שגיאה זו מתרחשת כשאירוע מעדכן ערכת רשומות או מוסיף נתונים לערכת רשומות.

להלן סיבות ופתרונות אפשריים:

  • ההרשאות שמוגדרות לתיקייה שכוללת את מסד הנתונים מוגבלות מדי. יש להגדיר את זכויות IUSR על read/write.

  • ההרשאות בקובץ מסד הנתונים עצמו אינן כוללות זכויות read/write מלאות.

  • ייתכן שמסד הנתונים ממוקם מחוץ לספרייה Inetpub/wwwroot. אף על פי שניתן להציג ולחפש את הנתונים, ייתכן שלא יהיה ניתן לעדכן אותם, אלא אם כן מסד הנתונים ממוקם בספרייה wwwroot.

  • ערכת הרשומות מבוססת על שאילתה שאינה ניתנת לעדכון. שאילתות איחוד (Join) הן דוגמאות טובות לשאילתות במסד נתונים שאינן ניתנות לעדכון. בנה את השאילתות מחדש כך שהן יאפשרו עדכון.

    למידע נוסף על שגיאה זו, ראה ‎"PRB: ASP ‘Error The Query Is Not Updateable’ When You Update Table Record"‎, באתר האינטרנט Microsoft Knowledge Base בכתובת http://support.microsoft.com/default.aspx?scid=kb;he-il;Q174640.

[הפניה]80040e07—חוסר התאמה של סוג הנתונים בביטוי הקריטריונים

שגיאה זו מתרחשת כשהשרת מנסה לעבד עמוד שכולל התנהגות שרת Insert Record או Update Record, והתנהגות השרת מנסה להגדיר את ערך העמודה Date/Time במסד נתונים Microsoft Access למחרוזת ריקה ("").

ל- Microsoft Access יש סיווג מידע חזק. הוא כופה ערכת כללים מחמירה על ערכי עמודה נתונה. לא ניתן לשמור את ערך המחרוזת הריקה של שאילתת SQL בעמודה Access Date/Time. כיום, דרך המעקף הידועה היחידה היא הימנעות מהוספה או מעדכון של עמודות Date/Time ב- Access עם מחרוזות ריקות ("") או עם כל ערך אחר שאינו מתאים לטווח הערכים שצוין לסוג נתונים זה.

[הפניה]80040e10—מעט מדי פרמטרים

שגיאה זו מתרחשת כשעמודה שצוינה בשאילתת SQL אינה קיימת בטבלת מסד נתונים. בדוק את שמות העמודות בטבלת מסד הנתונים מול שאילתת SQL. לעתים קרובות, בעיה זו נגרמת עקב שגיאת הקלדה.

[הפניה]80040e10—השדה COUNT שגוי

שגיאה זו מתרחשת כשמציגים בדפדפן אינטרנט תצוגה מקדימה של עמוד שכולל התנהגות שרת Insert Record ומנסים להשתמש בעמוד להוספת רשומה למסד נתונים Microsoft Access.

ייתכן שתנסה להוסיף רשומה לשדה מסד נתונים שכולל סימן שאלה (?) בשדה השם שלו. סימן השאלה הוא תו מיוחד במנועי מסד נתונים אחדים, כולל Microsoft Access ומומלץ שלא להשתמש בו לשמות טבלאות ולשמות שדות של מסד נתונים.

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

[הפניה]80040e14—שגיאת תחביר במשפט INSERT INTO

שגיאה זו מתרחשת כשהשרת מנסה לעבד עמוד שכולל התנהגות שרת Insert Record.

לרוב, שגיאה זו נובעת מאחת או יותר מהבעיות הבאות בשמות של שדות, של אובייקטים, או של משתנים במסד הנתונים:

  • שימוש במילה שמורה כשם. רוב מסדי הנתונים כוללים ערכה של מילים שמורות. לדוגמה, “date" היא מילה שמורה שאינה ניתנת לשימוש בשם עמודה במסד נתונים.

  • שימוש בתווים מיוחדים בשם. דוגמאות לתווים מיוחדים כוללות:

    . / * : ! # & - ?

  • שימוש ברווח בשם.

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

    לפתרון הבעיה, יש להימנע משימוש במילים שמורות כגון “date”,‏ “name”,‏ “select”,‏ “where” ו- “level” בעת ציון שמות עמודות במסד הנתונים. כמו כן, יש למחוק רווחים ותווים מיוחדים.

    לרשימות של מילים שמורות למערכות מסדי נתונים נפוצות, ראה בעמודי האינטרנט הבאים:

  • Microsoft Access at http://support.microsoft.com/default.aspx?scid=kb;he-il;Q209187

  • MySQL בכתובת http://dev.mysql.com/doc/mysql/en/reserved-words.html

[הפניה]80040e21—שגיאת ODBC בעת הוספה או עדכון

שגיאה זו מתרחשת כשהשרת מנסה לעבד עמוד שכולל התנהגות שרת Update Record או Insert Record. מסד הנתונים אינו יכול לטפל בפעולת העדכון או ההוספה שהתנהגות השרת מנסה לבצע.

להלן סיבות ופתרונות אפשריים:

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

  • התנהגות השרת מעדכנת או מוסיפה נתונים מסוג שגוי לשדה מסד הנתונים, לדוגמה, הוספת תאריך לשדה Boolean (כן/לא), הוספת מחרוזת לשדה מספרי או הוספת מחרוזת בתבנית שאינה מתאימה לשדה Date/Time.

[הפניה]800a0bcd—‏BOF או EOF הוא True

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

הבעיה מתרחשת כשהעמוד מנסה להציג נתונים מערכת רשומות ריקה. לפתרון הבעיה, יש להחיל את התנהגות השרת Show Region על התוכן הדינמי שרוצים להציג בעמוד, באופן הבא:

  1. סמן את התוכן הדינמי של העמוד.

  2. בחלונית Server Behaviors, לחץ על לחצן הפלוס (+) ובחר בפקודה Show Region > Show Region If RecoRDSet Is Not Empty.

  3. בחר בערכת הרשומות שמספקת את התוכן הדינמי ולחץ על OK.

  4. חזור על צעדים 1 עד 3 לכל רכיב תוכן דינמי בעמוד.

פתרון בעיות במקרה של הודעות שגיאה MySQL

הודעת שגיאה נפוצה שעלולים להיתקל בה בעת בדיקה של חיבור מסד נתונים PHP ל-MySQL 4.1 היא ‎“Client does not support authentication protocol requested. Consider upgrading MySQL client”‎.

ייתכן שיהיה צורך לחזור לגרסת MySQL מוקדמת יותר, או להתקין את PHP 5 ולהעתיק ספריות קישורים דינמיים (DLL) אחדות. להוראות מפורטות, ראה הגדרת סביבת פיתוח PHP.

עבודה זו בוצעה ברישיון של Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License  הודעות המתפרסמות ב- Twitter™‎ ו- Facebook אינן מכוסות בתנאי Creative Commons.

הצהרות משפטיות   |   מדיניות פרטיות מקוונת