|
| Insert into virker ikke efter skift fra OD~ Fra : Steen Eiler Jørgense~ |
Dato : 07-09-03 12:18 |
|
Jeg logger folk der logger ind på mit website til en access-db. Tidligere -
med ODBC - virkede følgende streng fint:
sql = "INSERT INTO adminlog (tid,user,ip,hostname) VALUES
(#"&year(now)&"-"&month(now)&"-"&day(now)&"
"&time&"#,'"&session("brugernavn")&"','"&request.servervariables("REMOTE_HOS
T")&"','"&hostname&"')"
På opfordring fra min udbyder skiftede jeg alle mine gamle ODBC-connections
ud med OLEDB - sådan her:
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &
Server.MapPath("../../access/database.mdb")
Conn.Open DSN
Siden jeg skiftede, er der ikke blevet logget noget til databasen! Når der
skal læses fra databasen er der ingen problemer. Men ovenstående INSERT
INTO-streng virker altså ikke.
En ting, der irriterer mig meget i den forbindelse er, at jeg *ikke får
nogen form for fejlmelding!* Der er åbenbart ikke nogen form for
tilbagemelding, når man bruger OLEDB? Hvis jeg skriver
Conn.Execute("Gobbledygook") får jeg heller ingen fejlmelding!
--
Steen Eiler Jørgensen
"Time has resumed its shape. All is as it was before.
Many such journeys are possible. Let me be your gateway."
| |
Steen Eiler Jørgense~ (07-09-2003)
| Kommentar Fra : Steen Eiler Jørgense~ |
Dato : 07-09-03 12:49 |
|
Steen Eiler Jørgensen wrote:
> En ting, der irriterer mig meget i den forbindelse er, at jeg *ikke
> får nogen form for fejlmelding!* Der er åbenbart ikke nogen form for
> tilbagemelding, når man bruger OLEDB? Hvis jeg skriver
> Conn.Execute("Gobbledygook") får jeg heller ingen fejlmelding!
Hm, hvad angår fejlmeldingerne fandt jeg ud af, at jeg havde en gammel on
error resume next, som jeg ikke havde fået slået fra. Nu får jeg en "syntax
error in INSERT INTO-statement", men jeg kan stadig ikke se, hvor fejlen
skulle være.
--
Steen Eiler Jørgensen
"Time has resumed its shape. All is as it was before.
Many such journeys are possible. Let me be your gateway."
| |
Torben Brandt (07-09-2003)
| Kommentar Fra : Torben Brandt |
Dato : 07-09-03 13:04 |
|
Steen Eiler Jørgensen wrote:
> Hm, hvad angår fejlmeldingerne fandt jeg ud af, at jeg havde en gammel on
> error resume next, som jeg ikke havde fået slået fra. Nu får jeg en "syntax
> error in INSERT INTO-statement", men jeg kan stadig ikke se, hvor fejlen
> skulle være.
Har du prøvet
Response.Write sql
Response.End
for at se hvordan din sql-streng ser ud?
Se også <URL: http://asp-faq.dk/article/?id=98> om hvordan strenge
lettest overføres i en sql-streng.
/Torben
| |
Steen Eiler Jørgense~ (08-09-2003)
| Kommentar Fra : Steen Eiler Jørgense~ |
Dato : 08-09-03 10:37 |
|
Torben Brandt wrote:
> Har du prøvet
> Response.Write sql
> Response.End
> for at se hvordan din sql-streng ser ud?
Ja, den ser f.eks. sådan her ud:
INSERT INTO adminlog (tid,user,ip,hostname) VALUES (#2003-09-08
11:25:44#,'brugernavn','127.0.0.1','localhost')
> Se også <URL: http://asp-faq.dk/article/?id=98> om hvordan strenge
> lettest overføres i en sql-streng.
Hm, datoer og tidspunkter, mener du? Så skal jeg jo til at lave det hele
om. Nu har jeg brugt #...# i flere år uden problemer - jeg får kun
syntaksfejl, når jeg connecter med OLEDB - ikke med ODBC. Jeg har prøvet
at skifte lidt frem og tilbage mellem ODBC og OLEDB, og den er
klokkeklar: med ODBC bliver min INSERT... udført, med OLEDB er der
syntaksfejl...
--
Steen Eiler Jørgensen
"No, I don't think I'll ever get over Macho Grande.
Those wounds run...pretty deep."
| |
Torben Brandt (08-09-2003)
| Kommentar Fra : Torben Brandt |
Dato : 08-09-03 23:35 |
|
Steen Eiler Jørgensen wrote:
> Torben Brandt wrote:
>
>>Se også <URL: http://asp-faq.dk/article/?id=98> om hvordan strenge
>>lettest overføres i en sql-streng.
>
> Hm, datoer og tidspunkter, mener du? Så skal jeg jo til at lave det hele
<snip>
Ja, selvfølgelig. Det er godt du læser hvad jeg mener og ikke hvad jeg
skriver
Kan se problemet i øvrigt er løst,
Torben
| |
Steen Eiler Jørgense~ (09-09-2003)
| Kommentar Fra : Steen Eiler Jørgense~ |
Dato : 09-09-03 08:58 |
|
Torben Brandt wrote:
> Ja, selvfølgelig. Det er godt du læser hvad jeg mener og ikke hvad jeg
> skriver
Det er sådan noget, jeg kan
--
Steen Eiler Jørgensen
"No, I don't think I'll ever get over Macho Grande.
Those wounds run...pretty deep."
| |
Jens Gyldenkærne Cla~ (08-09-2003)
| Kommentar Fra : Jens Gyldenkærne Cla~ |
Dato : 08-09-03 20:45 |
|
Steen Eiler Jørgensen skrev:
> INSERT INTO adminlog (tid,user,ip,hostname) VALUES
> (#2003-09-08 11:25:44#,'brugernavn','127.0.0.1','localhost')
To mulige bud på en fejlkilde:
a) Reserverede ord som feltnavne - prøv med [user] og [hostname]
i stedet for user/hostname.
b) Bøvl med datoformatet - tjek evt. ved at indsætte NULL i
datofeltet. Ret ved at erstatte # med ' - eller måske ved at
indkapsle værdien i begge: '#2003-09-....#'
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html
| |
Steen Eiler Jørgense~ (08-09-2003)
| Kommentar Fra : Steen Eiler Jørgense~ |
Dato : 08-09-03 22:11 |
|
Jens Gyldenkærne Clausen wrote:
> a) Reserverede ord som feltnavne - prøv med [user] og [hostname]
> i stedet for user/hostname.
That's it! Der var den! [user] er nok - hostname er den ligeglad med.
1.000.000.000 tak - det havde jeg aldrig regnet ud selv. Tænk, at der er
forskel på, om man connecter på den ene eller den anden måde - det havde jeg
sgu aldrig drømt om.
--
Steen Eiler Jørgensen
"Time has resumed its shape. All is as it was before.
Many such journeys are possible. Let me be your gateway."
| |
Morten R. Rasmussen (09-09-2003)
| Kommentar Fra : Morten R. Rasmussen |
Dato : 09-09-03 23:10 |
|
Lige noget "helt andet":
Hvorfor ikke bruge databasens datofunktioner? Access har også en Now:
sql = "INSERT INTO adminlog (tid,user,ip,hostname) VALUES
(Now(),'"&session("brugernavn")&"','"&request.servervariables("REMOTE_HOS
T")&"','"&hostname&"')"
- Morten
"Steen Eiler Jørgensen" <oz1sejREMOVETHIS@get2net.dk> wrote in message
news:bjf3pr$dho$1@sunsite.dk...
> Jeg logger folk der logger ind på mit website til en access-db.
Tidligere -
> med ODBC - virkede følgende streng fint:
>
> sql = "INSERT INTO adminlog (tid,user,ip,hostname) VALUES
> (#"&year(now)&"-"&month(now)&"-"&day(now)&"
>
"&time&"#,'"&session("brugernavn")&"','"&request.servervariables("REMOTE_HOS
> T")&"','"&hostname&"')"
>
| |
Steen Eiler Jørgense~ (10-09-2003)
| Kommentar Fra : Steen Eiler Jørgense~ |
Dato : 10-09-03 10:15 |
|
Morten R. Rasmussen wrote:
> Hvorfor ikke bruge databasens datofunktioner? Access har også en Now:
Øj, det vidste jeg ikke - det vil jeg da prøve
--
Steen Eiler Jørgensen
"No, I don't think I'll ever get over Macho Grande.
Those wounds run...pretty deep."
| |
|
|