09. maj 2002 - 16:13Der 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")
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 %>
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
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.
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 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.
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) %> ????
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.