Avatar billede mmolsen Nybegynder
23. juli 2002 - 12:32 Der er 16 kommentarer og
1 løsning

Vrøvl med min ODBC (tror jeg)

Jeg har lavet en masse programmering i ASP for et godt stykke tid siden. Der fungerede det hele fint, og nu havde jeg tænkt mig at fortsætte med det.

I mellemtiden har jeg installeret nyt OS (Win XP) hvor jeg før havde Win2k.

Jeg kan sagten hente oplysninger fra databasen og vise frem.

Problemet er når jeg skal indsætte eller opdatere på databasen (access database)

Så får jeg følgende fejl:

Fejltype:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC Microsoft Access-driver] Handlingen skal bruge en opdaterbar forespørgsel.

I min odbc har jeg både i min Bruger-DSN og System-DSN følgende datakilder:

Navn:
Microsoft Access Driver

Driver:
Microsoft Access Driver (*.mdb)

Et eksempel på hvad der ikke virker:

<%@Language="VBScript"%>
<html>
<%
strConnect = "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("testdatabase.mdb")
%>
<head>
    <title>Test</title>
</head>

<%  Dim Conn Set Conn = Server.CreateObject "ADODB.Connection"
Conn.open strConnect


Conn.execute("INSERT INTO navne (Navn) VALUES ('" & Request.Form("Navn") & "')")

Response.redirect("tast.asp")
%>

Det burde virke, men gør altså ikke.

HJÆÆÆLP :)

Hilsen Morten
Avatar billede mmolsen Nybegynder
23. juli 2002 - 12:46 #1
Det skal nok lige siges at databasefilen ikke er skrivebeskyttet, og at der i min ODBC står 0 uden for skrivebeskyttet, i avancerede-menuen.
Avatar billede terry Ekspert
23. juli 2002 - 17:56 #2
Server.CreateObject ("ADODB.Connection")
Avatar billede mmolsen Nybegynder
23. juli 2002 - 21:48 #3
Ups, det må være en fejl da jeg kopierede teksten, for der står Server.CreateObject("ADODB.Connection") i dokumentet.
Avatar billede terry Ekspert
24. juli 2002 - 09:38 #4
Is that acceptance for my answer?
Avatar billede mmolsen Nybegynder
24. juli 2002 - 12:39 #5
Nej det er ikke asp koden der er noget i vejen med. At der ikke var paranteser omkring "ADODB.Connection" er kun en fejl i indlæget, men ikke i min kode.
Avatar billede terry Ekspert
24. juli 2002 - 15:13 #6
OK then try
Conn.execute("INSERT INTO navne (Navn) VALUES ('" & Request.Form("Navn") & "')",,adCmdText+adExecuteNoRecords)
Avatar billede mmolsen Nybegynder
24. juli 2002 - 15:25 #7
får denne fejl nu:
Fejltype:
Der opstod en Microsoft VBScript-kompileringsfejl (0x800A0414)
Der kan ikke bruges parenteser ved kald af en Sub
/test/insert.asp, line 21, column 110
Conn.execute("INSERT INTO navne (Navn) VALUES ('" & Request.Form("Navn") & "')",,adCmdText+adExecuteNoRecords)
-------------------------------------------------------------------------------------------------------------^

Jeg har snakket med en ven der siger at det kan være fordi at jeg skal bruge en ældre version af MDAC (Microsoft Data Access Components) end den der følger med WinXP (som er MDAC 2.7).

jeg har nu prøvet med MDAC 2.6 men det virker stadig ikke. Er der andre der har oplevet dette, og ved hvad der skal gøres ??
Avatar billede terry Ekspert
24. juli 2002 - 15:34 #8
Try and use a variable to your SQL statement

Dim sSQL
sSQL = "INSERT INTO navne (Navn) VALUES ('" & Request.Form("Navn") & ")"
then
Conn.execute ( sSQL,,adCmdText + adExecuteNoRecords)

it may be easier to find the problem
Avatar billede terry Ekspert
24. juli 2002 - 16:03 #9
little error there
sSQL = "INSERT INTO navne (Navn) VALUES ('" & Request.Form("Navn") & "')"
Avatar billede mmolsen Nybegynder
24. juli 2002 - 16:17 #10
Det er ikke min kode der fejler noget. For hvis jeg uploader det på et webhotel kommer der ingen fejl.

Det har noget med MDAC til winXP, der skaber problemet.

Hvordan kan jeg lukke det her indlæg, for det er et nyt spørgsmål der er kommet op.
Avatar billede solle Nybegynder
24. juli 2002 - 16:19 #11
ellers også er det fordi at du ikke har skriverettigheder på filniveau!!!!! Det er oftest det der forårsager denne fejl!.. HUSK FILNIVEAU ...
Avatar billede mmolsen Nybegynder
24. juli 2002 - 16:56 #12
Ja det er det der er problemet med winXP, man kan ikke fjerne skrivebeskyttelsen 100%.

Der er 3 "niveauer" man kan gøre med checkboxen ud fra skrivebeskyttet.

1. afkrydset = skrivebeskyttet
2. tom = ikke skrivebeskyttet
3. firkant = ved ikke. Selvom man vælger nr. 2 så kommer denne firkant igen.
Avatar billede solle Nybegynder
24. juli 2002 - 17:03 #13
hmm .. endnu en grund til ikke at bruge XP.. tak .. hehe
Avatar billede mmolsen Nybegynder
24. juli 2002 - 17:32 #14
ja jeg ved det. Er også ved at gå amok, og formatere lortet, så jeg kan få mit gode gamle engelske version af win2k
Avatar billede solle Nybegynder
24. juli 2002 - 17:56 #15
DÆJLIGT ;)
Avatar billede mmolsen Nybegynder
24. juli 2002 - 18:30 #16
Næ egentligt ikke, for der er sindsygt meget der skal laves backup på :(

Nå men hvordan afslutter jeg dette emne, for det ser ud somom at der ikke er noget svar :(
Avatar billede mmolsen Nybegynder
24. juli 2002 - 20:19 #17
Jeg har svaret nu :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester