Avatar billede fuldstop Nybegynder
04. april 2012 - 01:19 Der er 4 kommentarer og
1 løsning

Ændringer Microsoft.ACE.OLEDB.12.0

Jeg har tidligere haft en classic asp side kørende på en 32 bit server (Win 2000), hvor jeg med succes har lavet nedenstående query til en access-db vha. Microsoft.Jet.

Set Conn = server.CreateObject("ADODB.Connection")
    Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& server.mappath("log.mdb")
strSQL = "Select * from Tabel1 Where dato LIKE '%" & datotilsog & "%'"
Set rs = Conn.Execute(strSQL)
Do
Response.Write rs("beskrivelse") & "<br>"
rs.MoveNext

    Loop While Not rs.EOF

    Conn.Close
    Set Conn = Nothing

Siden er nu flyttet til en 64 bit server (Win 2008) og jeg har installeret 64 bit versionen af Microsoft Access Database Engine 2010 Redistributable, samt ændret provideren i min connection string til Provider=Microsoft.ACE.OLEDB.12.0

Queries til access-db fungerer fint på den nye server, bortset fra når jeg prøver ovenstående kode, hvor jeg søger på dato i et dato/klokke felt. Serveren returnerer fejl 500 (har desværre ikke mulighed for at se den detaljeret fejlkode lige pt., da jeg sider ved en anden computer og kun har adgang til wwwroot mappen på serveren).

Er der ændret noget i den nye OleDB driver eller i wildcard funktionen?
Avatar billede keysersoze Guru
04. april 2012 - 07:57 #1
Uden en fejlmeddelelse bliver det svært at gætte sig til - men det mest normale når nu du kan lave forespørgsler er, at der mangler skriverrettigheder enten direkte på databasen eller i mappen hvori den ligger. På mange webhoteller får man tildelt en specifik db-mappe med de nødvendige rettigheder.
Avatar billede fuldstop Nybegynder
04. april 2012 - 23:26 #2
Det kan med sikkerhed siges at det ikke er rettighederne og placeringen af mdb som den er galt med, da jeg personligt har sat (iss)serveren op lokalt her i firmaet, og da jeg ikke har problemer med at læse og skrive/redigere i databasen via ASP, dog kun når jeg bruger ovennævnte stykke kode, hvor der sammenlignes med datoer i DATETIME feltet i mdb.

Lande/Dato og tidsindstillingerne er sat til dansk lokalt på serveren dd-mm-yyyy og LCID er sat til 1030 i koden. Den nævnte kode har som sagt virket fint på en win2000 32 bit server og med Jet OLEDB 4.0.

Tænkte at der måske kunne være noget med dato queries ved brug af ACE.OLEDB (64 bit), som er anderledes.
Avatar billede keysersoze Guru
05. april 2012 - 00:06 #3
det kan kun blive ved gættende - du må kunne få en reel fejlmeddelelse fra en log eller lignende. hvis ikke må du prøve at fange fejlen i din ASP og udskrive på skærmen.
Avatar billede fuldstop Nybegynder
05. april 2012 - 00:15 #4
Ja kan godt se problemet, må få IT-bossen til at oprette et fjernskrivebord, så jeg kan kører localhost istedet for og få de detaljerede fejlkoder istedet.

Men tak for hjælpet keyser, smider du lige et svar?
Avatar billede keysersoze Guru
05. april 2012 - 12:16 #5
Jeg skal selvfølgelig ikke kunne afvise at der er en dato-problematik, men hvis koden er lavet rigtigt bør det ikke være tilfældet. Det kan dog hurtigt testes med en opdateringsforespørgsel hvor datoer ikke indgår.

Men som sagt - få en reel fejlmeddelelse :)
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