פתרון בעיות הרשאות, הודעות שגיאה של Microsoft והודעות שגיאה MySQL ב- Dreamweaver.
ממשק המשתמש הפך לפשוט יותר ב-Dreamweaver ובגרסאות מתקדמות יותר. כתוצאה מכך, ייתכן שלא תמצא חלק מהאפשרויות המתוארות במאמר זה ב-Dreamweaver ובגרסאות מתקדמות יותר. לקבלת מידע נוסף, עיין במאמר זה.
פתרון בעיות בהרשאות
אחת מהבעיות הנפוצות ביותר היא הרשאות תיקייה או קובץ לא מספקות. אם מסד הנתונים שלכם ממוקם במחשב Windows 2000 או Windows XP ואתם מקבלים הודעת שגיאה כשאתם מנסים להציג דף דינמי בדפדפן או בתצוגת Live, השגיאה עשויה לנבוע מבעיית הרשאות.
לחשבון Windows שמנסה לגשת למסד הנתונים אין הרשאות מספקות. החשבון עשוי להיות חשבון Windows אנונימי (כברירת מחדל, IUSR_computername) או חשבון משתמש ספציפי, אם הדף אובטח לגישה מאומתת.
עליכם לשנות את ההרשאות כדי לתת לחשבון IUSR_computername את ההרשאות הנכונות כדי שהשרת יוכל לגשת לקובץ מסד הנתונים. בנוסף, התיקייה שמכילה את קובץ מסד הנתונים חייבת גם כן לכלול הרשאות מסוימות לכתיבה למסד הנתונים הזה.
אם הדף אמור להיות נגיש באופן אנונימי, תנו לחשבון IUSR_computername שליטה מלאה על התיקייה וקובץ מסד הנתונים, כפי שמתואר בהליך שלהלן.
בנוסף, אם הנתיב למסד הנתונים מופנה באמצעות UNC (\\Server\Share), וודאו שהרשאות השיתוף נותנות לחשבון IUSR_computername גישה מלאה. השלב הזה חל גם אם השיתוף נמצא בשרת המקומי.
אם אתם מעתיקים את מסד הנתונים ממיקום אחר, הוא עשוי לא לרשת את ההרשאות מתיקיית היעד ואולי תצטרכו לשנות את ההרשאות עבור מסד הנתונים.
בדוק או שנה את הרשאות קובץ מסד הנתונים (Windows XP)
יש לבצע צעד זה רק במערכת קבצים NTFS. במערכת קבצים FAT, תיבת הדו-שיח אינה כוללת את הכרטיסייה Security.
תיבת הדו-שיח משתנה להצגת אפשרויות נוספות.
בדיקה או שינוי של הרשאות קובץ מסד הנתונים (Windows 2000)
יש לבצע צעד זה רק במערכת קבצים NTFS. אם יש לכם מערכת קבצים FAT, בתיבת הדו-שיח לא תהיה כרטיסיית Security.
לביטחון נוסף, ניתן להגדיר הרשאות כך שהרשאת קריאה תהיה מושבתת עבור תיקיית האינטרנט המכילה את מסד הנתונים. עיון בתיקייה לא יתאפשר, אבל דפי אינטרנט עדיין יוכלו לגשת למסד הנתונים.
למידע נוסף על חשבון IUSR והרשאות שרת האינטרנט, עיינו ב-TechNotes הבאים במרכז התמיכה של Adobe:
הבנת אימות אנונימי וחשבון IUSR ב-www.adobe.com/go/authentication
הגדרת ההרשאות של שרת האינטרנט IIS, בכתובת www.adobe.com/go/server_permissions_il
פתרון בעיות של הודעות שגיאה של 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.
[[Reference]80004005—Data sourcename not found and no default driver specified]
השגיאה הזו מתרחשת כשאתם מנסים להציג דף דינמי בדפדפן אינטרנט או בתצוגה חיה. הודעת השגיאה עשויה להשתנות בהתאם למסד הנתונים ושרת האינטרנט שלכם. וריאציות אחרות של הודעת השגיאה כוללות:
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 כדי למנוע מהשגיאה להתרחש שוב. אתחל את המחשב לאחר ביצוע שינויים.
[[Reference]80004005—Couldn't use'(unknown)'; file already in use]
השגיאה הזו מתרחשת כשאתם משתמשים במסד נתונים של Microsoft Access ומנסים להציג דף דינמי בדפדפן אינטרנט או בתצוגה חיה. וריאציה נוספת של הודעת שגיאה זו היא "80004005—מנוע מסד הנתונים של Microsoft Jet אינו יכול לפתוח את הקובץ (לא ידוע)".
הגורם הסביר הוא בעיית הרשאות. להלן סיבות ופתרונות אפשריים אחדים:
ייתכן שלחשבון שמשמש את Internet Information Server (בדרך כלל IUSR) אין רשאות Windows נדרשות למסד נתונים מבוסס קבצים או לתיקייה המכילה את הקובץ.בדקו את ההרשאות לחשבון IIS (IUSR) במנהל המשתמשים.
יכול להיות שאין לכם הרשאה ליצור או למחוק קבצים זמניים. בדוק את ההרשאות בקובץ ובתיקייה. ודאו שיש לכם הרשאה ליצור או למחוק קבצים זמניים כלשהם.קבצים זמניים נוצרים בדרך כלל באותה תיקייה כמו מסד הנתונים, אבל הקובץ עשוי גם להיווצר בתיקיות אחרות כמו /Winnt.
ב-Windows 2000, ייתכן שיהיה צורך לשנות את ערך הזמן הקצוב עבור DSN של מסד נתונים Access.כדי לשנות את ערך הזמן הקצוב, בחרו 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" ב-http://support.microsoft.com/default.aspx?scid=kb;en-us;Q174943.
בעיה: קישוריות מסד נתונים Microsoft Access נכשלת בדפי שרת ראשיים ב-http://support.microsoft.com/default.aspx?scid=kb;en-us;Q253604.
PRB: Error "Cannot Open File Unknown" Using Access at http://support.microsoft.com/default.aspx?scid=kb;he-il;Q166029.
[[Reference]80004005—כישלון התחברות()]
שגיאה זו מתרחשת כשאתם משתמשים ב-Microsoft SQL Server ומנסים להציג דף דינמי בדפדפן או בתצוגת Live.
שגיאה זו נוצרת על ידי SQL Server אם הוא אינו מקבל או מזהה את חשבון ההתחברות או הסיסמה הנשלחים (אם אתם משתמשים באבטחה סטנדרטית), או אם חשבון Windows אינו ממופה לחשבון SQL (אם אתם משתמשים באבטחה משולבת).
להלן פתרונות אפשריים:
אם אתם משתמשים באבטחה סטנדרטית, שם החשבון והסיסמה עלולים להיות שגויים.נסו את חשבון מנהל המערכת והסיסמה (UID="sa" וללא סיסמה), אשר חייבים להיות מוגדרים בשורת מחרוזת החיבור.(DSNs אינם מאחסנים שמות משתמשים וסיסמאות.)
אם אתם משתמשים באבטחה משולבת, בדקו את חשבון ה-Windows שקורא לדף ומצאו את החשבון SQL הממופה שלו (אם יש כזה).
SQL Server אינו מאפשר קו תחתון בשמות חשבונות SQL.אם מישהו ממפה ידנית את חשבון Windows IUSR_machinename לחשבון SQL בשם זהה, הפעולה תיכשל.מפו כל חשבון המשתמש בקו תחתון לשם חשבון ב-SQL שאינו משתמש בקו תחתון.
[[Reference]80004005—הפעולה חייבת להשתמש בשאילתה הניתנת לעדכון]
שגיאה זו מתרחשת כשאירוע מעדכן recordset או מכניס נתונים ב-recordset.
להלן הגורמים האפשריים והפתרונות:
ההרשאות שהוגדרו על התיקייה המכילה את מסד הנתונים מגבילות מדי.הרשאות IUSR חייבות להיות מוגדרות לקריאה/כתיבה.
להרשאות על קובץ מסד הנתונים עצמו אין הרשאות קריאה/כתיבה מלאות.
מסד הנתונים עלול להיות ממוקם מחוץ לספריית Inetpub/wwwroot.למרות שתוכלו להציג ולחפש בנתונים, ייתכן שלא תוכלו לעדכן אותם אלא אם מסד הנתונים ממוקם בספריית wwwroot.
ערכת הרשומות מבוססת על שאילתה שאינה ניתנת לעדכון. צירופים הם דוגמאות טובות לשאילתות שאינן ניתנות לעדכון בתוך מסד נתונים.ארגנו מחדש את השאילתות שלכם כך שהן יהיו ניתנות לעדכון.
למידע נוסף על שגיאה זו, ראו "בעיה: ASP 'Error The Query Is Not Updateable' כשאתם מעדכנים רשומת טבלה," ב-Microsoft Knowledge Base ב-http://support.microsoft.com/default.aspx?scid=kb;en-us;Q174640.
[[Reference]80040e07—אי התאמת סוג נתונים בביטוי קריטריונים]
שגיאה זו מתרחשת כשהשרת מנסה לעבד דף המכיל התנהגות שרת Insert Record או Update Record, וההתנהגות של השרת מנסה להגדיר את הערך של עמודת Date/Time במסד נתונים Microsoft Access למחרוזת ריקה ("").
ל-Microsoft Access יש הגדרת סוגי נתונים קשיחה; הוא כופה קבוצה קפדנית של כללים על ערכי עמודות נתונים.ערך המחרוזת הריקה בשאילתת SQL לא ניתן לאחסן בעמודת Date/Time של Access. נכון לעכשיו, הפתרון הזמני היחיד הידוע הוא להימנע מהכנסה או עדכון של עמודות Date/Time ב-Access עם מחרוזות ריקות ("") או עם כל ערך אחר שאינו תואם לטווח הערכים שצוין עבור סוג הנתונים.
[[Reference]80040e10—Too few parameters]
שגיאה זו מתרחשת כאשר עמודה שצוינה בשאילתת SQL שלכם אינה קיימת בטבלת מסד הנתונים. בדקו את שמות העמודות בטבלת מסד הנתונים שלכם מול שאילתת SQL. הסיבה לשגיאה זו היא לעתים קרובות שגיאת כתיב.
[[Reference]80040e10—COUNT fieldincorrect]
שגיאה זו מתרחשת כאשר אתם צופים בדף המכיל התנהגות שרת Insert Record בדפדפן ומנסים להשתמש בו כדי להכניס רשומה למסד נתונים של Microsoft Access.
ייתכן שאתם מנסים להכניס רשומה לשדה מסד נתונים שיש בו סימן שאלה (?) בשם השדה שלו. סימן השאלה הוא תו מיוחד עבור מנועי מסד נתונים מסוימים, כולל Microsoft Access, ואסור להשתמש בו עבור שמות טבלאות מסד נתונים או שמות שדות.
פתחו את מערכת מסד הנתונים שלכם ומחקו את סימן השאלה (?) משמות השדות, ועדכנו את התנהגויות השרת בדף שלכם המתייחסות לשדה זה.
[[Reference]80040e14—Syntax errorin INSERT INTO statement]
שגיאה זו מתרחשת כאשר השרת מנסה לעבד דף המכיל התנהגות שרת של 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
[[Reference]80040e21—ODBC erroron Insert or Update]
שגיאה זו מתרחשת כאשר השרת מנסה לעבד דף המכיל התנהגות שרת של Update Record או Insert Record.מסד הנתונים אינו יכול לטפל בפעולת העדכון או ההכנסה שהתנהגות השרת מנסה לבצע.
להלן סיבות אפשריות ופתרונות:
התנהגות השרת מנסה לעדכן שדה auto-number של טבלת מסד נתונים או להכניס רשומה לשדה auto-number. מכיוון ששדות auto-number מאוכלסים אוטומטית על ידי מערכת מסד הנתונים, כל ניסיון לאכלס אותם באופן חיצוני בערך מסוים נכשל.
הנתונים שהתנהגות השרת מעדכנת או מכניסה הם מהסוג הלא נכון עבור שדה מסד הנתונים, כמו הכנסת תאריך לשדה Boolean (כן/לא), הכנסת מחרוזת לשדה מספרי או הכנסת מחרוזת בפורמט לא נכון לשדה Date/Time.
[[Reference]800a0bcd—Either BOFor EOF is true]
שגיאה זו מתרחשת כאשר אתם מנסים לצפות בדף דינמי בדפדפן או בתצוגת Live.
הבעיה מתרחשת כשהדף מנסה להציג נתונים מקבוצת רשומות ריקה. כדי לפתור את הבעיה, החילו את התנהגות השרת Show Region על התוכן הדינמי שיש להציג בדף, כמפורט להלן:
סמנו את התוכן הדינמי בדף.
בלוח Server Behaviors, לחצו על לחצן הפלוס (+) ובחרו Show Region > Show Region If Recordset Is Not Empty.
בחרו את קבוצת הרשומות שמספקת את התוכן הדינמי ולחצו על OK.
חזרו על שלבים 1 עד 3 עבור כל רכיב של תוכן דינמי בדף.
פתרון בעיות במקרה של הודעות שגיאה MySQL
הודעת שגיאה נפוצה שאתם עלולים להיתקל בה כשבוחנים חיבור מסד נתונים PHP ל-MySQL 4.1 היא "Client does not support authentication protocol requested."שקלו לשדרג את לקוח MySQL.
ייתכן שתצטרכו לחזור לגרסה מוקדמת יותר של MySQL, או להתקין PHP 5 ולהעתיק כמה ספריות קישור דינמיות (DLL). להוראות מפורטות, ראו הגדרת סביבת פיתוח PHP.
בניית אתרי אינטרנט יפהפיים ב-Dreamweaver
עיצוב כתיבת קוד וניהול אתרי אינטרנט דינמיים בכלי רב עוצמה כולל.