שלח תשובה

זירת השאלות

298
צפיות
36
תשובות

בעיה בחיבור למסד נתונים…

,‏ 5 ביוני, 2004

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



ADODB.Recordset error ‘800a0e78’
Operation is not allowed when the object is closed.

/twins008/bookstore/booklist1.asp, line 17



מה אני צריך לעשות? מה זה אומר?

תגיות:

36 תשובות

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

  2. shabup הגיב:

    הנה החיבור….


    <%@ 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
    %>

  3. נסה כך


    <%@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
    %>

  4. shabup הגיב:

    אבל….
    זה בקושי עובד זה יוצא סימני שאלה ולמטה הוא כותב את השגיאה שנתתי למעלה…

  5. תעשה ככה
    תחליף את השורה הזו

    <%@Language=VBScript%>

    בזו

    <%@Language=VBScript codepage=1255%>

  6. shabup הגיב:

    תודה!!…
    הכל טוב אבל בסוף הטבלה של המסד הוא כותב לי את זה שוב:


    ADODB.Recordset error ‘800a0e78’

    Operation is not allowed when the object is closed.

    /twins008/bookstore/booklist.asp, line 28

  7. תנסה ככה
    תחליף את זה

    conn.close
    set conn = nothing
    rs.close
    set rs = nothing

    בזה

    rs.close
    set rs = nothing
    conn.close
    set conn = nothing

  8. shabup הגיב:

    עכשיו…
    כשאני נכנס לדף הוא כותב לי:

    אירעה שגיאת זמן ריצה.
    האם ברצונך לבצע איתור באגים?

    שורה:5
    שגיאה: syntax error

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

    נסה את זה:


    <%@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. shabup הגיב:

    כאן יש שגיאה בשורה 10…
    שהיא..


    rs.Open sql,conn

  11. shabup הגיב:

    עכשיו זה טוב..
    אבל זה כמו שני יש את ההודעת שגיאה… (כתבתי אותה לפני 4 הודעות)…

  12. shabup הגיב:

    שורה 5…:


    cn.Open Server.MapPath("bookstore.mdb")

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

    זאת הודעת השגיאה?

    ADODB.Recordset error ‘800a0e78’
    Operation is not allowed when the object is closed.

    /twins008/bookstore/booklist1.asp, line 17

    כי אם כן – נראה לי מוזר. אתה לא צריך לשחק איתי משחק ניחושים – תן את השגיאה וזהו…

  14. shabup הגיב:

    אני נתתי אותה…
    למעלה… 8 הודעות למעלה…

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

    אתה לא רוצה – אל תתן
    רק אל תצפה שיעזרו לך.

  16. shabup הגיב:

    הנה…
    אני כתבתי אותה כבר….

    זאת הודעת השגיאה:

    אירעה שגיאת זמן ריצה.
    האם ברצונך לבצע איתור באגים?

    שורה:5
    שגיאה: syntax error

  17. ניר טייב הגיב:

    זו שגיאת JS של הלקוח
    תראה את הקוד הרלוונטי.

  18. shabup הגיב:

    ??
    מה זאת אומרת את הקוד הרלוונטי? הקוד שכלפיו מופיעה השגיאה?

  19. omer הגיב:

    סביבת השורה שבה
    נמצאת השגיאה.
    במקרה שלך סביבת השורה 5
    ז"א 5 שורות לפני ו5 שורות אחרי בערך.

  20. shabup הגיב:

    אהה… אז הנה:
    זה תחילת הקוד שורה 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

  21. ניר טייב הגיב:

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

  22. shabup הגיב:

    אהה בסדר, תודה…!
    אבל אתה יודע איך מבטלים את זה אצלי? משהו באפשרויות אינטרנט?

  23. shabup הגיב:

    הנה:
    זה הסקריפט עצמו:


    <%@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

  24. ניר טייב הגיב:

    כשמבקשים סקריפט מתכוונים ללקוח!
    וגם אמרתי לך קודם שזה בעיית בצד הלקוח
    ובכל מקרה על תדאג זה בעיה בפרסומת של ברינקסטר

  25. shabup הגיב:

    [ללא נושא]
    מה זאת אומרת מתכוונים ללקוח?

  26. shabup הגיב:

    תודה!
    קראתי…!

    יש לי עוד שאלה קצרה ממש:

    אני עובד עם visual interDev וכשאני עושה שם את החיבור שעבד ב brinkster הוא לא מציג לי אותו…. למה זה?

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

    כנראה הנתיב לבסיס הנתונים שגוי
    זה כל מה שאני יכול להגיד לך מהנתונים המעטים שנתת…

  28. shabup הגיב:

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

שלח תשובה