Avatar billede jens_k Nybegynder
02. september 2004 - 12:28 Der er 9 kommentarer og
1 løsning

Jeg kan læse fra min Oracle DB, men jeg kan ikke altid skrive.

Hej

Jeg har en hjemmeside med ca 500 aktive besøgende om dagen.

Siden er kodet i ASP, og koblet op imod min Oracle8 database via en ODBC driver : "Oracle ODBC Driver 8.01.07".

Når jeg henter ting fra databasen så virker det fint. Det virker også nogen gange med at skrive til databasen, men for det meste får jeg denne ASP fejl når jeg prøver at skrive til databasen.:

Microsoft VBScript runtime error '800a01fb'

An exception occurred: 'Open'

/kurv.asp, line 31


Linie 31 ser således ud:
******************************
Set rs = Server.CreateObject("ADODB.RecordSet")
SQL = "SELECT * FROM WEB_Shop"
rs.Open SQL, strOracle, 1, 3 'Dette er linie 31
******************************

Min connect fil som bliver includet i toppen ser således ud:
******************************
Const strOracle = "DSN=XAL3;UID=xal_supervisor;PWD=PWD;"
******************************

Dette sker kun hvis jeg prøver at skrive til databasen. Jeg har før kørt siden på en Access database, det gav ingen problemer.

Jeg er rimelig sikker på det ikke er ASP koden det er galt med, men derimod tror jeg det er ODBC opsætningen.

Er der en som kan give mig en komplet guide til opsætning af Oracle ODBC Driver? Eller er det eventuel nogle andre ting som er galt?


Mvh

Jens K
Avatar billede Jman Praktikant
02. september 2004 - 12:35 #1
Jeg har lige haft et problem den anden vej, så jeg skyder lige frahoften: Prøv at fjerne ", 1, 3" i din rs.open
Avatar billede jens_k Nybegynder
02. september 2004 - 12:40 #2
Hvis jeg fjerner den, så kan jeg vel ikke skrive til databasen mere ?
Avatar billede Jman Praktikant
02. september 2004 - 12:46 #3
du skriver heller ikke noget der.. der selecter du da (?)
Avatar billede jens_k Nybegynder
02. september 2004 - 13:01 #4
Det er fordi jeg ikke har pastet hele koden. Jeg gør det på følgende måde:

Set rs = Server.CreateObject("ADODB.RecordSet")
SQL = "SELECT * FROM WEB_Shop"
rs.Open SQL, strOracle, 1, 3

  rs.Addnew
  rs("Title")  = "Test"
  rs.update

rs.Close
Set rs = Nothing
Avatar billede Jman Praktikant
02. september 2004 - 13:40 #5
ja, okay det kan jeg så godt se..
Men har du forøgt at fjerne ,1,3 ? (selv om det ikke virker logisk)
Alternativ: kan det skyldes at du allerede har en rs.open igang og at den derfror laver en exeption.... ?
Avatar billede jens_k Nybegynder
02. september 2004 - 13:53 #6
Det har jeg ikke, men jeg har en rs1.open i forvejen.

Nu har jeg prøvet at lave en TEST.ASP fil.

Koden er således:

Set rs = Server.CreateObject("ADODB.RecordSet")
SQL = "SELECT * FROM TEST"
rs.Open SQL, strOracle, 1, 3 ' Linie 6

    do while not rs.eof
        rs.delete
    loop

rs.Close
Set rs = Nothing

Der er 5 linier i TEST kartotektet. Og det giver følgende ASP fejl:

Microsoft VBScript runtime error '800a01fb'

An exception occurred: 'rs.Open'

/test5.asp, line 6
Avatar billede Jman Praktikant
02. september 2004 - 14:16 #7
er du sikker på at du har fat i din DB?
Det virker som om du får fejl når du vil eksekvere din SQL og så er det linie 5, den er gal med..
Avatar billede jens_k Nybegynder
02. september 2004 - 14:34 #8
Hvis jeg gør sådan her, så kommer jeg fint igennem:

Set rs = Server.CreateObject("ADODB.RecordSet")
SQL = "SELECT * FROM TEST"
rs.Open SQL, strOracle

    do while not rs.eof
        Response.Write rs("Test")
    rs.Movenext
    loop

rs.Close
Set rs = Nothing
Avatar billede macriis Nybegynder
03. september 2004 - 00:07 #9
Lytter lige med
Avatar billede jens_k Nybegynder
03. september 2004 - 11:38 #10
Jeg har fået det til at virke nu.

Jeg installerede en ny ODBC Driver fra Oracle, hvor de havde lavet en masse rettelser.

Og nu virker det perfekt.

Mange tak for jeres tid.

Mvh

Jens
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
Kurser inden for grundlæggende programmering

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