411
צפיות
צפיות
36
תשובות
תשובות
בעיה בחיבור למסד נתונים…
לפני כמה הודעות כתבתי שאני לא מצליח להתחבר למסד נתונים… עכשיו כמעט הצלחתי, אבל הוא עושה לי הודעת שגיאה כזו:
ADODB.Recordset error '800a0e78'
Operation is not allowed when the object is closed.
/twins008/bookstore/booklist1.asp, line 17
מה אני צריך לעשות? מה זה אומר?
36 תשובות
תראה את החיבור
ועוד משהו
לפי השגיאה אני משער שאתה לא יכול להשתמש באובייקט החיבור שלך כי הוא סגור
הנה החיבור….
<%@ Language=VBScript %>
<%
set conn=createobject("adodb.connection")
dsn="DBQ=" & Server.Mappath("bookstore.mdb") & ";Driver={Microsoft Access Driver (*.mdb)};"
conn.open(dsn)
%>
<%
set cn = server.CreateObject("ADODB.Connection")
set rs = Server.CreateObject("ADODB.RecordSet")
SQL = "select * from books order by book_id"
cn.Open conn
Response.Write "<center><table border=1 cellpadding=2 BGCOLOR=Yellow>"
do while not rs.EOF
Response.Write "<tr>"
Response.Write "<td align=right>" & formatcurrency(rs("price")) & "</td>"
Response.Write "<td align=right>" & rs("author") & "</td>"
Response.Write "<td align=right>" & rs("title") & "</td>"
Response.Write "</tr>"
rs.MoveNext
loop
Response.Write "</center></table>"
rs.Close
set rs = nothing
cn.Close
Set cn = Nothing
%>
נסה כך
<%@Language=VBScript%>
<%
dim conn, ConnString, rs, sql
set conn = server.createobject("adodb.connection")
ConnString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" &_
Server.MapPath("bookstore.mdb") & ";"
conn.Open connString
set rs = server.CreateObject("adodb.recordset")
sql = "select * from books order by book_id desc"
rs.Open sql,conn
response.write "<table border='1' cellpadding='2' align='center' bgcolor='Yellow'>"
do while not rs.EOF
response.write "<tr>"
response.write "<td align='right'>" & formatcurrency(rs("price")) & "</td>"
response.write "<td align='right'>" & rs("author") & "</td>"
response.write "<td align='right'>" & rs("title") & "</td>"
response.write "</tr>"
rs.MoveNext
loop
response.write "</table>"
conn.close
set conn = nothing
rs.close
set rs = nothing
%>
אבל….
זה בקושי עובד זה יוצא סימני שאלה ולמטה הוא כותב את השגיאה שנתתי למעלה…
תעשה ככה
תחליף את השורה הזו
<%@Language=VBScript%>
בזו
<%@Language=VBScript codepage=1255%>
תודה!!…
הכל טוב אבל בסוף הטבלה של המסד הוא כותב לי את זה שוב:
ADODB.Recordset error '800a0e78'
Operation is not allowed when the object is closed.
/twins008/bookstore/booklist.asp, line 28
תראה את שורה 28
הנה…
rs.close
תנסה ככה
תחליף את זה
conn.close
set conn = nothing
rs.close
set rs = nothing
בזה
rs.close
set rs = nothing
conn.close
set conn = nothing
עכשיו…
כשאני נכנס לדף הוא כותב לי:
אירעה שגיאת זמן ריצה.
האם ברצונך לבצע איתור באגים?
שורה:5
שגיאה: syntax error
נסה את זה:
<%@Language=VBScript codepage=1255%>
<%
set cn = server.CreateObject("ADODB.Connection")
'כאן מחברים את הקונקשיין למסד הנתונים
cn.Provider = "Microsoft.Jet.OLEDB.4.0"
cn.Open Server.MapPath("DatabaseFolder/DatabaseFile.mdb")
'סוף
set rs = Server.CreateObject("ADODB.RecordSet")
SQL = "select * from books order by book_id"
rs.Open sql,conn
Response.Write "<center><table border=1 cellpadding=2 BGCOLOR=Yellow>"
do while not rs.EOF
Response.Write "<tr>"
Response.Write "<td align=right>" & formatcurrency(rs("price")) & "</td>"
Response.Write "<td align=right>" & rs("author") & "</td>"
Response.Write "<td align=right>" & rs("title") & "</td>"
Response.Write "</tr>"
rs.MoveNext
loop
Response.Write "</center></table>"
rs.Close
set rs = nothing
cn.Close
Set cn = Nothing
%>
שנה את שם הקובץ ושם התקייה בהתאם וזה צריך לעבוד.
כאן יש שגיאה בשורה 10…
שהיא..
rs.Open sql,conn
סליחה
rs.Open sql,cn
עכשיו זה טוב..
… (כתבתי אותה לפני 4 הודעות)…
אבל זה כמו שני יש את ההודעת שגיאה
על איזו שורה ההודעה מצביעה?
שורה 5…:
cn.Open Server.MapPath("bookstore.mdb")
זאת הודעת השגיאה?
ADODB.Recordset error '800a0e78'
Operation is not allowed when the object is closed.
/twins008/bookstore/booklist1.asp, line 17
כי אם כן – נראה לי מוזר. אתה לא צריך לשחק איתי משחק ניחושים – תן את השגיאה וזהו…
אני נתתי אותה…
למעלה… 8 הודעות למעלה…
אתה לא רוצה – אל תתן
רק אל תצפה שיעזרו לך.
הנה…
אני כתבתי אותה כבר….
זאת הודעת השגיאה:
אירעה שגיאת זמן ריצה.
האם ברצונך לבצע איתור באגים?
שורה:5
שגיאה: syntax error
זו שגיאת JS של הלקוח
תראה את הקוד הרלוונטי.
??
מה זאת אומרת את הקוד הרלוונטי? הקוד שכלפיו מופיעה השגיאה?
סביבת השורה שבה
נמצאת השגיאה.
במקרה שלך סביבת השורה 5
ז"א 5 שורות לפני ו5 שורות אחרי בערך.
אהה… אז הנה:
זה תחילת הקוד שורה 5 מסומנת ב *
<%@Language=VBScript codepage=1255%>
<%
set cn = server.CreateObject("ADODB.Connection")
cn.Provider = "Microsoft.Jet.OLEDB.4.0"
*cn.Open Server.MapPath("bookstore.mdb")*
set rs = Server.CreateObject("ADODB.RecordSet")
SQL = "select * from books order by book_id"
rs.Open sql,cn
אמרתי כבר.
הבעיה נמצאת בסקריפט בלקוח אחרת לא היה מוצא שם לדבג ולבצע איתור באגים!
אהה בסדר, תודה…!
אבל אתה יודע איך מבטלים את זה אצלי? משהו באפשרויות אינטרנט?
תעלה את הסקריפט שעשית
הנה:
זה הסקריפט עצמו:
<%@Language=VBScript codepage=1255%>
<%
set cn = server.CreateObject("ADODB.Connection")
cn.Provider = "Microsoft.Jet.OLEDB.4.0"
cn.Open Server.MapPath("bookstore.mdb")
set rs = Server.CreateObject("ADODB.RecordSet")
SQL = "select * from books order by book_id"
rs.Open sql,cn
Response.Write "<center><table border=1 cellpadding=2 BGCOLOR=Yellow>"
do while not rs.EOF
Response.Write "<tr>"
Response.Write "<td align=right>" & formatcurrency(rs("price")) & "</td>"
Response.Write "<td align=right>" & rs("author") & "</td>"
Response.Write "<td align=right>" & rs("title") & "</td>"
Response.Write "</tr>"
rs.MoveNext
loop
Response.Write "</center></table>"
rs.Close
set rs = nothing
cn.Close
Set cn = Nothing
%>
(זה סתם, אין במסד כמעט כלום כרגע כי זה רק לנסיון)
והנה הקישור לאיך שזה צריך להראות ושם יש גם את ההודעת שגיאה:
http://www34.brinkster.com/twins008/bookstore/ASP.asp
בלינק שסיפקת אין הודעת שגיאה
כשמבקשים סקריפט מתכוונים ללקוח!
וגם אמרתי לך קודם שזה בעיית בצד הלקוח
ובכל מקרה על תדאג זה בעיה בפרסומת של ברינקסטר
[ללא נושא]
מה זאת אומרת מתכוונים ללקוח?
קרא כאן
על ההבדלים בין צד שרת לצד לקוח
תודה!
קראתי…!
יש לי עוד שאלה קצרה ממש:
אני עובד עם visual interDev וכשאני עושה שם את החיבור שעבד ב brinkster הוא לא מציג לי אותו…. למה זה?
כנראה הנתיב לבסיס הנתונים שגוי
זה כל מה שאני יכול להגיד לך מהנתונים המעטים שנתת…
…..
תגיד ואני ייתן… 
זה אותו נתיב…
איזה עוד נתונים אני צריך לתת? זה כל מה שאני חושב שצריך….