Hej,
Är det någon vänlig själv som kan ge mig en hint om vad det här felet betyder och vad jag ska göra för att det ska funka?
Microsoft OLE DB Provider for SQL Server (0x80040E21)
En OLE DB-åtgärd i flera steg genererade fel. Kontrollera alla OLE DB-statusvärden som finns tillgängliga. Inget arbete utfördes.
Tack.
LarsGMedlem sedan dec. 200012 464 inlägg Det kan vara lite av varje.
Håller du på med kolumner av typen text/image?
Vilket miljö?
Vilken sql-sats orsakar problemet?
Tack, det var precis det jag behövde för att få igång mina grå... Det vara bara ett sånt simpelt fel att jag satt fel datatyp på en av mina kolumner... Men tack iallfall! : )
Men nu har jag fått samma fel igen i en annan fil och den här gången har jag inte skrivit knas i mina db-kolmuner...
Koden som den klagar på är en simpel:
objRS("Adress")=Request.ServerVariables("HTTP_REFERER")
men jag tror inte att det är där som felet ligger. Jag jobbar mot en SQL-db....
Felet som jag får är alltså:
En OLE DB-åtgärd i flera steg genererade fel. Kontrollera alla OLE DB-statusvärden som finns tillgängliga. Inget arbete utfördes.
Tips någon?
StevePMedlem sedan mars 2003772 inlägg Du kan inte ändra värdet i ett recordset som du hämtat från databasen.
Om du vill att en variabel ska innehålla referern
Så får du skriva
Variabel = Request.ServerVariables("HTTP_REFERER")
Nej, jag vill inte att en variabel ska innehålla referern, jag vill lagra deni min databas så att jag senare även kan skriva ut reusltatet på en annan sida... Det märkliga är att det har funkat hur bra som hels fram till att jag ville skriva ut resultatet, det var då det började krångla.
StevePMedlem sedan mars 2003772 inlägg Jag men om du vill lagra den i din databas så bör du först lägga in referen i en variabel som du sedan stoppar in i databasen.
Variabel = Request.ServerVariables("HTTP_REFERER")
strSQL = "Insert into table (Adress) Values('" & Variabel & "')"
Då lagras den i databasen och sedan kan du skriva ut den.
Om detta ej överstämmer med vad du vill göra så kan du väl visa hela din kod?
MethodMedlem sedan apr. 2001357 inlägg maggan om jag förstår dig rätt..
varför gör du inte en UPDATE och uppdaterar fältet i databasen med HTTP_REFERER informationen och öppnar sedan databasen och presenterar informationen på den sidan som du vill visa det på?
mvh
Jonas
Maggan74 skrev:
Nej, jag vill inte att en variabel ska innehålla referern, jag vill lagra deni min databas så att jag senare även kan skriva ut reusltatet på en annan sida... Det märkliga är att det har funkat hur bra som hels fram till att jag ville skriva ut resultatet, det var då det började krångla.
Om det är denna kod som krånglar, så vill du såklart lägga in en referer i databasen eller uppdatera ett fält med en referer. Då är frågan hur ser det ut ovanför?
vill du lägga in den i fältet Adress så använd dig av objRs.AddNew om det är ett nytt och vid uppdatering objRs.Update
innan ex.
objRs.AddNew
objRS("Adress")=Request.ServerVariables("HTTP_REFERER")
' övriga fält som skall lagras i databasen..
objRsClose
eller använda sig av en INSERT INTO sats eller en UPDATE-sats i stället för att använda SELECT-satsen för att använda recordset för att lägga in eller uppdatera ett fält.
Vill du skriva ut resultatet:
' övrig kod som skapar ett recordset...
Response.Write(objRS("Adress"))
' bl bla...
Hej Jonas, det är precis så som jag gör som du föreslår...
SteveP, jag provade ditt förslag och felmeddelndet försvann (oh joy!) men det det händer inget, det enda som registreras i db är <NULL>...
StevePMedlem sedan mars 2003772 inlägg Ok men då får du inte med något värde i Variabeln.
Ibland kan Referern vara tom och då kan man inte göra så mycket åt saken.
Kolla så du lägger in rätt variabel etc.
Men om du vill lägga in något annat värde när den är tom så får du göra en kontroll.
IF Request.ServerVariables("HTTP_REFERER") = "" then Variabel = "Inget värde" Else Variabel = Request.ServerVariables("HTTP_REFERER")
strSQL = "Insert into table (Adress) Values('" & Variabel & "')"
Så här ser min kod ut:
Dim objRS, datStartTime, sida, strSQL
Dim objRS, datStartTime, sida, strSQL
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open "tblAnnat",objConn,adOpenKeyset,adLockOptimistic,adCmdTable
objRS.AddNew
objRS("IP")=Request.ServerVariables("HTTP_HOST")
sida = Request.ServerVariables("HTTP_REFERER")
strSQL = "Insert into tblAnnat(Adress)Values('" & sida & "')"
'objRS("Adress")=Request.ServerVariables("HTTP_REFERER")
objRS("Tid")=Request.Cookies("Tidinfo")
objRS.Update
objRS.Close
Set objRS = Nothing
objConn.Close
Set objConn = Nothing
Och så här ser det ut på den sida där jag vill skriva ut...
Dim objRS
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open"tblAnnat",objConn,adOpenKeyset,adLockOptimistic,adCmdTable
Do While Not objRS.EOF
Response.Write objRS("Adress")& "<BR>"
objRS.MoveNext
Loop
objRS.Close
Set objRS = Nothing
objConn.Close
Set objConn = Nothing
StevePMedlem sedan mars 2003772 inlägg Dim IPnr
Dim sida
Dim tidinfo
IPnr = Request.ServerVariables("HTTP_HOST")
sida = Request.ServerVariables("HTTP_REFERER")
tidinfo = Request.Cookies("Tidinfo")
strSQL = "Insert into tblAnnat (IP,Adress,Tid) Values('" & IPnr & "','" & sida & "','" & tidinfo & "')"
ObjConn.Execute strSQL, , 128
ObjConn.Close
Set ObjConn = Nothing
Njae, det där gick inte så bra heller... Nu reggas det <NULL> både på tid, IP och adress...
StevePMedlem sedan mars 2003772 inlägg Men får du nåt värde alls ur dina Request.ServerVariables?
IP nummer får du dessutom ut genom REMOTE_HOST
IPnr = Request.ServerVariables("REMOTE_HOST")
sida = Request.ServerVariables("HTTP_REFERER")
tidinfo = Request.Cookies("Tidinfo")
Response.write "IP:" & IPnr & "<br>Referer:" & sida & "<br>tidinfo:" & tidinfo
StevePMedlem sedan mars 2003772 inlägg Får du inte värde ur
sida = Request.ServerVariables("HTTP_REFERER")
så kan det bero på browsern/sidan, ibland är den tom.
Sen så kanske
Request.Cookies("Tidinfo")
inte heller innehåller nåt värde?
IP, Adress och Tid lagrar inget värde, men Cookies("Tidinfo") är den enda som fungerar... Det här känns bara mer och mer förvirrande...
SteveP skrev:
Men får du nåt värde alls ur dina Request.ServerVariables?
IP nummer får du dessutom ut genom REMOTE_HOST
IP nummer får du genom REMOTE_ADDR!
HTTP_REFERER är den sida som jag kommer ifrån, och om jag skriver adressen direkt i adress-fältet så får jag man ingen referer, så det gäller.
Så man kan säga om referer saknas så är det en direkt träff! :OO
Jo det har du ju rätt i, men jag har även provat att komma in på sidan från en annan länk men det strular.
Maggan74 skrev:
Jo det har du ju rätt i, men jag har även provat att komma in på sidan från en annan länk men det strular.
Det blir fortfarande tomt eller?