שלח תשובה

זירת השאלות

324
צפיות
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 הגיב:

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

שלח תשובה

חדש! אחסון אתרים של וובמאסטר

שירות אחסון אתרים
המקצועי של וובמאסטר!

מומחים באירוח אתרי
WordPress, Joomla, Drupal

  • שרתי לינוקס עם CloudLinux, LiteSpeed
  • 1GB דיסק SSD, 10GB תעבורה חודשית
  • ממשק ניהול cPanel, תעודת SSL חינם

עכשיו במחיר היכרות:
רק 420 ש"ח לשנה!