643
צפיות
צפיות
15
תשובות
תשובות
עזרה בחיבור של ASP למסד נתונים
אני מנסה לבנות מערכת שתתחבר ותכתוב דברים לתוך מסד הנתונים אקסס. עשיתי משהו אבל כשאני נכנס לדף (השרת תומך בASP)
כותב לי ארור.. לא ארור כאילו של הקוד אלא של את הארור "The page cannot be displayed" ועשיתי נראה לי כל מה שנכון… השרת שלי זה domaindlx מה שנתתם באתר.. זה השרת שלא תומך במסד נתונים או שזה פשוט בעייה בקוד?
15 תשובות
קישור שחור ליד הטקסט האדום למעלה
תציג את קוד החיבור למסד הנתונים שלך.
הקוד של החיבור והכתיבה לתוך המסד
<%
set conn = Server.CreateObject("ADODB.Connection")
conn.Open "DRIVER={Microsoft Access Driver(*.mdb)};DBQ=outpost.mdb"
sqlText = "insert into ad_log (sponsor, clickDate) values ('"
sqlText = sqlText & sponsorURL
sqlText = sqlText & "', '"
sqlText = sqlText & Now
sqlText = sqlText & "')"
Response.Write sqlText
conn.Close
set conn = Nothing
Response.Redirect sponsorURL
%>
אופס
לא שמתי את זה בתוך התוויות של הקוד..
הנה:
<%
set conn = Server.CreateObject("ADODB.Connection")
conn.Open "DRIVER={Microsoft Access Driver(*.mdb)};DBQ=outpost.mdb"
sqlText = "insert into ad_log (sponsor, clickDate) values ('"
sqlText = sqlText & sponsorURL
sqlText = sqlText & "', '"
sqlText = sqlText & Now
sqlText = sqlText & "')"
Response.Write sqlText
conn.Close
set conn = Nothing
Response.Redirect sponsorURL
%>
תשובה
לא ציינת את הנתיב הפיזי המלא של הקובץ אלא כתבת רק את שמו.
במידה ואתה כותב כך (מאחר והקובץ נמצא באותה התקיה) אז כותבים זאת בצורה הבאה:
conn.Open "DRIVER={Microsoft Access Driver(*.mdb)};DBQ=" & Server.MapPath("outpost.mdb")
שניתי את השורה שנתת לי
אבל עדיין זה לא כתוב במסד נתונים עצמו ועדיין כתוב "The page cannot be displayed". מה אפשר לעשות? לנסות להחליף שרת או שזה לא קשור?
במידה והמסד נמצא באותה תקיה
נסה כך:
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("outpost.mdb")
עדיין..
זה מה שיש לי אחרי ששמתי מה שנתת לי ועדיין לא פועל..
<%@ language="VBSCRIPT" %>
<html>
<head>
</head>
<body>
<%
set conn = Server.CreateObject("ADODB.Connection")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("outpost.mdb")
sqlText = "insert into ad_log (sponsor, clickDate) values ('"
sqlText = sqlText & sponsorURL
sqlText = sqlText & "', '"
sqlText = sqlText & Now
sqlText = sqlText & "')"
Response.Write sqlText
conn.Close
set conn = Nothing
Response.Redirect sponsorURL
%>
</body>
</html>
עצה
חפש ב-FAQ בנוגע ל"שגיאה 500" ותגדיר להציג שגיאות בדפדפן.
עכשיו יש לך שגיאה אחרת ואני מניח שהיא נובעת מכך שלא הגדרת כתובת הפניה למשתנה sponsorURL.
..
קודם תודה
עשיתי מה שאמרת וסידרתי בעייה אחת אבל עכשיו יש לי בעייה אחרת
<%@ language="VBSCRIPT" %>
<html>
<head>
</head>
<body>
<%
sponsorURL = Request.querystring("url")
set conn = Server.CreateObject("ADODB.Connection")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("outpost.mdb")
sqlText = "insert into ad_log (sponsor, cclickDate) values ('"
sqlText = sqlText & sponsorURL
sqlText = sqlText & "', '"
sqlText = sqlText & Now
sqlText = sqlText & "')"
conn.Execute(sqlText)
conn.Close
set conn = Nothing
Response.Redirect sponsorURL
%>
</body>
</html>
זה הארור:
Microsoft JET Database Engine error '80004005'
Field 'ad_log.sponsor' cannot be a zero-length string.
/djas/got.asp, line 15
ניסיתי לסדר לא ממש הצלחתי..
..
קודם תודה
עשיתי מה שאמרת וסידרתי בעייה אחת אבל עכשיו יש לי בעייה אחרת
<%@ language="VBSCRIPT" %>
<html>
<head>
</head>
<body>
<%
sponsorURL = Request.querystring("url")
set conn = Server.CreateObject("ADODB.Connection")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("outpost.mdb")
sqlText = "insert into ad_log (sponsor, cclickDate) values ('"
sqlText = sqlText & sponsorURL
sqlText = sqlText & "', '"
sqlText = sqlText & Now
sqlText = sqlText & "')"
conn.Execute(sqlText)
conn.Close
set conn = Nothing
Response.Redirect sponsorURL
%>
</body>
</html>
זה הארור:
Microsoft JET Database Engine error '80004005'
Field 'ad_log.sponsor' cannot be a zero-length string.
/djas/got.asp, line 15
ניסיתי לסדר לא ממש הצלחתי..
תשובה
השדה sponser לא יכול להיות ריק (כנראה השארת אותו ריק).
שנה במסד שהוא יכול להיות ריק, כלומר שהוא אינו חובה למילוי.
עדיין..
כותב לי ארור..
תראה זאת התמונה מה שכתבתי בדייטאבייס:
http://n.domaindlx.com/djas/db.JPG
וזה הקוד:
<%
sponsorURL = Request.querystring("url")
set conn = Server.CreateObject("ADODB.Connection")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("outpost.mdb")
sqlText = "insert into ad_log (sponsor, clickDate) values ('"
sqlText = sqlText & sponsorURL
sqlText = sqlText & "', '"
sqlText = sqlText & Now
sqlText = sqlText & "')"
conn.Execute(sqlText)
conn.Close
set conn = Nothing
Response.Redirect sponsorURL
%>
איך התמונה קשורה לשגיאה?
אני מתכוון שבהגדרות של השדות (תצוגת עיצוב) אז צריך להגדיר את השדה שיהיה ניתן להיות ריק, כלומר לא חובה למילוי.
איך
נכנסתי לזה אבל אני לא בדיוק יודע מה לעשות.. :/
אתה בטוח שבזה הבעייה?
כך מסבירה השגיאה
יש לך אפשרות בעריכת פרטי השדה של "אפשר אורך אפס" (באנגלית צריך להיות משהו כמו "Allow zero lenght") ויש לסמן את האפשרות בכן במקום לא.