צפיות
תשובות
מסדי נתונים בASP – עזרה בבקשה
שלום.
אני מתשמש בספר ASP 3.0 והגעתי לחלק של קישור בין מסד נתונים לדף ASP.
כתבתי את הקוד הזה כמו בספר:
<%@ LANGUAGE="VBSCRIPT" %>
<%
sponsorURL = Request.querystring("url")
'create the object
set outpostDB = server.CreateObject("ADODB.Connection")
'Open the connection
outpostDB.open "outpost"
'insert the record here
sqlText = "insert into ad_log (sponsor, clickDate) values ('"
sqlText = sqlText & sponsorURL
sqlText = sqlText & "', '"
sqlText = sqlText & now
sqlText = sqlText & "')"
Responcer.Write sqlText
outpostDB.Execute(sqlText)
'Close the connction
outpostDB.Close
'destory the connection
set outpostDB = nothing
Response.Redirect sponsorURL
%>
כשהפעלתי את הקובץ הוא אומר לי שיש בעיה בשורה 8
outpostDB.open "outpost"
אתם יודעים אולי מה הבעיה?
7 תשובות
משהו פה לא ברור לי…
איך אתה רוצה לפתוח את מסד הנתונים אם לא הגדרת Connection.
אתה יצרת:
outpostDB.open "outpost"
אבל מה זה outpost?
לאן הוא מחובר?
יצרתי…
אני יצרתי לפי הספר מסד נתונים באקסס ואז יצרתי DNS.
לקובץ אקסס קוראים outpost
אתה מוכן להעתיק את השגיאה?
1. ראשית, איני מבין מדוע אתה לא מעתיק את כל נוסח השגיאה ושם כאן, זה יעזור לנו. ראוי, כשאתה מבקש עזרה לתת לנו את כל הפרטים.
2. לא מכיר פקודה בASP שנקראת Responcer. אין אובייקט כזה, לפחות אני לא מכיר כזה. כך, שגם אם השגיאה לא קשורה אליו (ככל הנראה), תהיה גם שגיאה בו.
3. אני לא ניסיתי זאת באקסס, אבל ב- SQL SERVER למשל, לא ניתן להכניס תאריך עם הפונקציה NOW, היות ובVB, יש בתוכה תווים שלא מתאימים לתבנית שדה התאריך.
אבל את זה נדע רק אחרי שנבין מה הבעיה העיקרית כרגע, ונפתור אותה.
השגיאה
זה מה שהוא כותב לי כשאני פותח את הדף
Technical Information (for support personnel)
Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC Microsoft Access Driver] The Microsoft Jet database engine cannot open the file '(unknown)'. It is already opened exclusively by another user, or you need permission to view its data.
/ads/goToSponsor.asp, line 8
Browser Type:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)
Page:
GET /ads/goToSponsor.asp
Time:
יום שלישי 15 אוגוסט 2006, 15:54:32
More information:
Microsoft Support
תן לי לנחש רגע…
אתה מריץ את הקוד ובמקביל משאיר את האקסס פתוח?
לא…
הוא סגור
תקרא היטב את השגיאה…
הוא אומר לך שמישהו כבר פותח את מסד הנתונים שלך.
בדוק האם בכל ההרצה עם IIS, אין לך אף רכיב שכבר מבצע פתיחה של מסד הנתונים עבור עצמו