Avatar billede gp Nybegynder
09. maj 2002 - 16:13 Der er 9 kommentarer og
1 løsning

Connection til Acces Databse

Hvem kan forklarer mig hvad og hvilke forskellige connection der findes til MS Acces databaser:

- Hvordan bruges de?
- Hvor bruges de?
- Hvorfor bruges de?

Jeg har et par ex. Jeg er rimelig ny på dette område, og prøver at forstå det. I forbindelse med at jeg skulle loade min database op skulle jeg også ændre min connection.

EX 1
<%Response.Buffer = True%>
<%
ConnString = "DSN=pharmacentiacomdsn"
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open ConnString
%>

EX 2
<%
Set rs = myConn.Execute(strSQL)
%>

EX 3
<%
Response.Buffer = True

'Åbner connection til databasen

Set conn = Server.CreateObject("ADODB.Connection")

DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("pharmacentiacom.mdb")
%>

EX 4
            <%
        Set Conn = Server.CreateObject("ADODB.Connection")
        Set Rs = Server.CreateObject("ADODB.Recordset")
        'Modify and use this connection if your database is in your database directory
        'Conn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=D:\your database directory\items.mdb"
        Conn.Open "DBQ=" & Server.Mappath("items.mdb") & ";Driver={Microsoft Access Driver (*.mdb)};"
SQL = "SELECT ProductNum, Name, Price, ImageURL, Description, Category FROM Items WHERE (Category = '" & Category & "')"

        rs.Open SQL, Conn

        x = 0
        For x = 1 to 9999
        If rs.eof then
        Exit For
        Else
%>

Jeg ser frem til at modtage mange gode indlæg!

Glenn P.
Avatar billede soes Nybegynder
09. maj 2002 - 18:02 #1
Ex1: Opretter en forbindelse til en database som bliver styret fra odbc. Der er oprettet et system-dsn på serveren.

Ex2: Der bliver oprettet et recordset som eksekvere et stykke sql, ved hjælp af forbindelsen som hedder myConn

Ex3: Der bliver her oprette en DSN-less forbindelse til en database som hedder pharmacentiacom.mdb server.MapPath bliver brugt for at vise hvor databasen er placeret i forhold til siden som kalder den.

Ex4: Man opretter en forbindelse samt et recordset. Herefter åbner man databasen items.mdb vha. en dns-less forbindelse. Der bliver skrevet et stykke sql som udvælger nogle tabeller hvor category er lig med en anden variabel. Herefter bliver dataen løbet igennem, og det sker i en for løkke, hvor der bliver teste på om ens recordset er noget til slutningen, og hvis den er det så skal den stoppe løkken.

/Søren Søndergård
Avatar billede gp Nybegynder
09. maj 2002 - 23:05 #2
Hvis jeg skal bruge Ex1 til min connection, anbefaler min udbyder, så kan jeg ikke opdaterer min database. Da jeg kørte min site lokalt med Ex4 havde jeg ingen problemer, hvad kan jeg gøre.

Jeg prøver at forstå hvordan det hænger sammen.

Glenn P.
Avatar billede soes Nybegynder
09. maj 2002 - 23:14 #3
Jeg bruger normalt denne:

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.mappath("data/data.mdb")

Jeg har læst at man vil få noget bedre udnyttelse hvis man oprettede en OLE DB connection, du kan læse noget mere om det her: http://activedeveloper.dk/aspdigital/kapitel2/dsnless.asp

/Søren Søndergård
Avatar billede gp Nybegynder
09. maj 2002 - 23:55 #4
Jeg har prøver flere forskellige connections, nu kan jeg se at jeg er nød til at bruge EX1, da jeg ikke har nogle sti til min database. Detter giver mig en del problemer med EX2.

Jeg bruger conn.
Set myConn = Server.CreateObject("ADODB.Connection")
myConn.Open "DSN=pharmacentiacomdsn"

og får denne felj kode:
ADODB.Recordset.1 error '80004005'
SQLState: 37000
Native Error Code: -3506
[INTERSOLV][ODBC SequeLink driver][ACCESS][Microsoft][ODBC Microsoft Access Driver] Syntax error in FROM clause.

Ved du hvor jeg kan se hvad disse fejlkoder betyder.

Og iøvrigt tak, det begynder at se klare ud for mig.

Glenn P.
Avatar billede wilweb Nybegynder
10. maj 2002 - 00:17 #5
Hvis du vil finde stien til din database, så læg denne fil op i database mappen og afvikle den i browseren, så vil du se hvad din sti er!!!

<html>
<head>
<title>Path finder</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<%= server.mappath(Request.ServerVariables("PATH_INFO"))%>
</body>
</html>

'DSN Less connections der virker

<% 
' Eksempel 1
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath ("data/kalender.mdb")
Conn.Open DSN
%>
<%
'Eksempel 2
set conn = server.createobject("adodb.connection")
DSN = "Provider=Microsoft.Jet.OleDb.4.0;Data Source=" & Server.MapPath ("data/booking.mdb")
conn.open DSN
%>
Avatar billede gp Nybegynder
10. maj 2002 - 00:36 #6
Hmm! Jeg loader min db op til en ip adresse, jeg kan ex. ikke se min db fra ex frontpage, så hvordan skal jeg så afvilke den.

Mit web hotel har anbefalet at jeg bruger ex1. der giver mig fejl med
<%
Set rs = myConn.Execute(strSQL)
%>
alt har virket med dig eksempel 1 uden problemer, for mig er det ikke helt nemt fordi jeg kan godt læse men ikke opdaterer andre gange giver det fejl med
<%
Set rs = myConn.Execute(strSQL)
%>
????
Avatar billede wilweb Nybegynder
11. maj 2002 - 00:31 #7
Så må din internet host, sq da oplyse lidt om hvad du må og kan!! Ælle bælle, jeg vil vædde på du ikke har skrive rettigheder i din database mappe!
Avatar billede gp Nybegynder
11. maj 2002 - 10:53 #8
Det skulle jeg have ifgl. min internet host.
Avatar billede wilweb Nybegynder
13. maj 2002 - 00:30 #9
Dette her eksempel anbefales af min host til en DSN forbindelse!
<% 'db.asp
dim DataConn, CmdAddRecord

Set DataConn = Server.CreateObject("ADODB.Connection")
Set CmdAddRecord = Server.CreateObject("ADODB.Recordset")
DataConn.Open "pharmacentiacomdsn" 
%>
Avatar billede gp Nybegynder
01. april 2003 - 13:33 #10
Spm lukket, jeg har ikke fået et rigtigt svar
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