Ett skumt problem har uppstått i en väldigt enkel select-sats efter att jag bytt ut min databaskoppling från: Låter skumt, men kan det vara att du har några "reserverade ord" som fältnamn i selctsatsen? Selectsatsens struktur ser ut precis som ovan. Fältnamnen är svenska ord. Jag har kollat så inget är reserverat. Byter jag tillbaka till den gamla databaskopplingen så funkar det. "Select *" funkar på båda. Sen är det inga problem med: variabel1 = rs("fältnamn1") : variabel2 = rs("fältnamn2") ...osv. Testa att omge dina fältnamn med []. T.ex. men edt är extremt mycket enklare om du låter oss se precis hur sqlsträngen ser ut... Jag löste det. När jag gjorde min databas (Access2002) så kollade jag att jag inte använde reserverade fältnamn med denna referensen:Skumt problem med enkel SELECT
Set conn=Server.CreateObject("ADODB.Connection")
conn.Open "driver={Microsoft Access Driver (*.mdb)}; dbq=" & Server.MapPath("xxxxx.mdb") & ";"
till:
Set conn=Server.CreateObject("ADODB.Connection")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source ="& Server.MapPath("xxxxx.mdb") & ";"
I selecten hämtar jag värdet i 13 fält så här ungefär:
SELECT fältnamn1, fältnamn2, fältnamn3... ...fältnamn13 WHERE artikelid = 1
Alltså en väldigt basic select utan några som helst konstigheter. Men jag får detta felmeddelandet:
error '80004005'
Unspecified error
/xxxxx.asp, line 198
På raden 198 utför jag selecten.
Om jag istället för att ange vart och ett av fältnamnen bara skriver: Select *... så funkar det utan problem. Första metoden med selecten där jag angav fältnamnen fungerade utan några som helst problem innan jag bytte till JET OLEDB. Byter jag tillbaka till den gamla databaskopplingen så funkar det igen. Finns det någon korkad begränsning i JET OLEDB på hur många fältnamn man kan ange vid en select eller vad är orsaken till problemet?Sv: Skumt problem med enkel SELECT
(Långsökt jag vet... men det som föll mig in först)Sv: Skumt problem med enkel SELECT
Sv: Skumt problem med enkel SELECT
SELECT [OrderId], [OrderDatum]
FORM [Ordrar]
ORDER BY [OrderDatum]
Om inte detta hjälper är det svårt att lösa dit problem utan att käna till tabellstrukturen. Anga då datatyp och fältnamn.Sv: Skumt problem med enkel SELECT
Sv: Skumt problem med enkel SELECT
http://support.microsoft.com/default.aspx?scid=http://support.microsoft.com:80/support/kb/articles/Q286/3/35.ASP&NoWebContent=1
Men när man använder JET OLEDB så är det visst fler namn man ska undvika som man kan hitta tex här:
http://www.jsoftware.com/books/help/user/sql_reserved_words.htm
Slängde in brackets runt fältnamnet så nu går det. Problemet var alltså inte att jag i Access använde ett fältnamn som var reserverat där, utan att det var JET OLEDB inte kunde hantera namnet.