Avatar billede larsliin Nybegynder
11. oktober 2004 - 15:03 Der er 15 kommentarer og
1 løsning

Access Connection problem

Jeg får denne fejl, når jeg lægger mine asp-sider op på min server ude i byen:

Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified

/eshop/delrec.asp, line 36

Hvad hulen betyder det?! Siderne kører uden problemer når jeg afvikler dem lokalt med IIS!
Er ikke den store asp-haj, faktisk ret grøn, så denne fejl slår mig virkelig ud af kurs. Kan nogen hjælpe?
Avatar billede locturian Nybegynder
11. oktober 2004 - 15:14 #1
Enten er det en fejl i din forbindelsesstreng, eller også er der ikke installeret nogen ODBC connector for Access....
Avatar billede larsliin Nybegynder
11. oktober 2004 - 15:32 #2
Kan jeg få forbindelse til min db på anden vis, hvis der ikke er installeret ODBC på min server? Forstår ikke helt! Jeg har ellers tidligere fået forbindelse med
string connectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Ole DB Services=-4; Data Source=" + Server.MapPath("db/color.mdb");

.. dog godt asp.net!
Avatar billede ldanielsen Nybegynder
11. oktober 2004 - 15:33 #3
Ja, vi skal have fat i din connectionstring. Din Accessdatabase, den skal jo findes på serveren også, og den skal ligge i en mappe hvor brugeren IUSR_<MachineName> har skriverettigheder. Det skal du sikkert have serveradministrator'en til at hjælpe dig med.
Avatar billede ldanielsen Nybegynder
11. oktober 2004 - 15:38 #4
Der er altid installeret ODBC på en windows server (eller jeg har i hvert fald aldrig hørt andet).

Server.MapPath("db/color.mdb");

Det skal være adressen på din database, er det det? Tænk også på at det ikke vil virke i alle mapper, fordi det er en relativ sti. Hvis mappen er placeret direkte i roden, så vil jeg foreslå at du bruger

Server.MapPath("/db/color.mdb")

Hvilket sprog er det i øvrigt? C#?

Jeg vil igen foreslå at du taler med serverfolkene, de har ofte en løsning på det, der betyder at databasen ikke ligger direkte på webbet, da det er et sikkerhedsproblem
Avatar billede larsliin Nybegynder
11. oktober 2004 - 15:48 #5
Databasen ligger i en mappe på samme server som asp-siderne. Der er fri adgang.
Mit sidste eksempel var bare fra et tidligere projekt, asp.net skrevet i c#.
Dette aktuelle projekt er almindelig asp, VB. Det var såmæn bare for at gøre opmærksom på, at jeg tidligere har haft adgang til access-database på denne server uden problemer.
Avatar billede ldanielsen Nybegynder
11. oktober 2004 - 15:52 #6
Så skal vi se din connectionstring (uden password :o), ok?), og vi skal have at vide hvor databasen ligger.

Hvis du bruger Server.MapPath, så vis os lige hvad

Response.Write (Server.MapPath("/db/color.mdb"))

giver fra sig (erstat url'en med den du faktisk bruger, ok?)
Avatar billede larsliin Nybegynder
11. oktober 2004 - 16:09 #7
Hmm .. vender lige tilbage. Er muligvis ved at få hul på problemet.
Avatar billede ldanielsen Nybegynder
11. oktober 2004 - 16:20 #8
Det lyder da godt!
Avatar billede larsliin Nybegynder
11. oktober 2004 - 16:34 #9
Er der en idé i at bruge OLE-DB istedet for ODBC?
Avatar billede ldanielsen Nybegynder
11. oktober 2004 - 16:47 #10
ja, det siges da.

Men jeg har jo stadig ikke set din connectionstring, så det er svært at udtale sig om den.
Avatar billede larsliin Nybegynder
11. oktober 2004 - 16:57 #11
Jeg troede, at jeg kunne springe over, hvor gærdet var lavest, og få Dreamweaver til at lave en forbindelse for mig, da jeg ikke er den store script'er. Jeg blev skuffet. Følgende connesction kaldes som include fra min asp-side.

<%
' FileName="Connection_odbc_conn_dsn.htm"
' Type="ADO"
' DesigntimeType="ADO"
' HTTP="false"
' Catalog=""
' Schema=""
Dim MM_con_smykker_STRING
MM_con_smykker_STRING = "dsn=Trolden;"
%>

Men eftersom, at denne forbindelse stinker, tror jeg, at jeg starter forfra, og laver det 'i hånden'.
Avatar billede ldanielsen Nybegynder
11. oktober 2004 - 17:19 #12
Ja, der er oprettet en system-dns på din egen maskine der hedder Trolden, og den findes jo ikke på serveren. Det kunne have været opklaret for længe siden. Der er mange gode skabeloner til connectionstrings derude, jeg har ikke lige én i hovedet ...
Avatar billede larsliin Nybegynder
11. oktober 2004 - 19:59 #13
Beklager, Min fejl. Var lidt i tvivl. Send mig et svar, så giver jeg nogle point ..
Avatar billede ldanielsen Nybegynder
11. oktober 2004 - 21:41 #14
Helt ok, blev bare lige lidt ærgerlig over ikke at nå frem til det hurtigere.

Denne skulle være den simpeste, men der er vist andre modeller der giver højere ydelse, jeg er ikke så vant tl at bruge access mere:

"DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.Mappath("/db/colors.mdb") & ";"

Igen, ret til med den sti der gælder for dit web, og sig endelig til hvis du ikke får det til at virke. Læs evt. mine indlæg igen.

Dette er det man kalder en dsn-less connection
Avatar billede larsliin Nybegynder
12. oktober 2004 - 00:51 #15
Yesser! Nu har jeg den sgu. Har altid haft svært ved connectionstrings. Det har været meget forvirrende for mig længe, men nu har jeg vist omsider fået hul på det.
Tusind tak for et skub i den rigtige retning. Beklager omvejene.
Avatar billede ldanielsen Nybegynder
12. oktober 2004 - 09:50 #16
Helt ok, det er jo bare det, at når man har arbejdet nogle år med det, så bliver man så vant til at søge og finde fejlene, så man har en fast checkliste.

Og kan man ikke få forbindelse, så starter man med at se på sin Connectionstring

Tak for Point!
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



IT-JOB