Avatar billede koldstar Nybegynder
28. oktober 2002 - 14:06 Der er 64 kommentarer og
4 løsninger

hvilken db??

hej.
Jeg har været så smart at bruge en acces database til mit webhotel hos scannet. Problemet er nu, at vi pludselig har fået mange brugere, og jeg derfor er nød til at omlægge det til en ande database. Jeg har disse at vælge imellem:

Odbc drivers:
    Access, dBase, Excel, FoxPro, Oracle,
    Paradox, Text, Visual FoxPro, SQL Server

Hvilken er bedst??
Avatar billede koldstar Nybegynder
28. oktober 2002 - 14:07 #1
den skal kunen håndtere mange samtidige connections, og være rimlig hurtig
Avatar billede martinlind Nybegynder
28. oktober 2002 - 14:08 #2
Interbase er gratis og kører godt, ellers mySQL som også er gratis, du kan få odbc-drivere til dem begge
Avatar billede martinlind Nybegynder
28. oktober 2002 - 14:08 #3
IB er MEGET nem at installere og vedligeholde
Avatar billede terry Ekspert
28. oktober 2002 - 14:10 #4
how many users?
Access can manage MANY users IF you program your database correctly.

SQL Server is available at www.BuyDomains.dk so is a good option at a VERY resonable price. Although you have to be aware that the server is in USA
Avatar billede Slettet bruger
28. oktober 2002 - 14:10 #5
www.coveryourasp.com kører f.eks. på en access database uden problemer.

Lidt stat fra siden:
65 active users
1058 visitors today
2031 pages today

Så hvorfor skifte?

Der er masser af info på siden hvordan man opnår øget performance m.v. under access.
Avatar billede martinlind Nybegynder
28. oktober 2002 - 14:14 #6
måske fordi Access er en Desktop DB, og hvis man skal køre noget seriøst kører det bedst på en RIGTIG db-server
Avatar billede Slettet bruger
28. oktober 2002 - 14:15 #7
martinlind>Sludder, tag et kig på www.coveryourasp.com - pure Access.
Avatar billede koldstar Nybegynder
28. oktober 2002 - 14:17 #8
okay. Mit problem er bare at jeg får en "to many connection's " error.
Der er kun ca. 25 online. Det tyder på at jeg har glemt at lukke min database, med jeg kan kkke finde nogle fejl. erfor mente jeg at det måtte være db'en som ikke kunne håndtere flere.
Avatar billede terry Ekspert
28. oktober 2002 - 14:17 #9
what is a desktop dB?
Avatar billede koldstar Nybegynder
28. oktober 2002 - 14:17 #10
jeg finder lige en kodestump til jer
Avatar billede terry Ekspert
28. oktober 2002 - 14:18 #11
koldstar try CLOSING your connections AFTER use!
Avatar billede Slettet bruger
28. oktober 2002 - 14:18 #12
Nej, Access kan klare mange samtidige brugere, kræver dog visse forudsætninger som bl.a. James Shaw ejeren af coveryourasp.com har skrevet om og som terry nævner ovenfor.
Avatar billede koldstar Nybegynder
28. oktober 2002 - 14:19 #13
alle steder hvor jeg connecter til min db er mit program opbygget således. (dette eks er fra html.dk)

<html>
<title>Hente data fra database</title>
<head>
</head>
<body>
<%
' Databaseforbindelse - husk at angive sti til din database
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("/cgi-bin/database.mdb")
Conn.Open DSN

' SQL forespørgsel
strSQL = "Select * from personer"
' Udfør forespørgsel (rs indeholder nu resultatet)
Set rs = Conn.Execute(strSQL)

' Gennemløb Recordset (rs) med en løkke
Do

  ' Udskriv værdien af kolonnen Fornavn
  Response.Write rs("Fornavn") & "<br>"

  ' Gå til næste Record i rs
  rs.MoveNext

' Fortsæt indtil rs er gennemløbet (EOF = End Of File)
Loop While Not rs.EOF

' Luk databaseforbindelse
Conn.Close
Set Conn = Nothing
%>
</body>
</html>
Avatar billede Slettet bruger
28. oktober 2002 - 14:21 #14
Her er lidt info om Access på coveryourasp.com og hvordan det er implementeret:
http://www.coveryourasp.com/Snippet.asp?snip=47
Avatar billede terry Ekspert
28. oktober 2002 - 14:26 #15
Code looks OK. Have you anyidea s to how many users you have AT ONE TIME?
Avatar billede koldstar Nybegynder
28. oktober 2002 - 14:27 #16
terry> I'm pretty sure that I am closing my connections.
Avatar billede Slettet bruger
28. oktober 2002 - 14:28 #17
Code does not look okay, why wait to close the connection at </body>??
Avatar billede koldstar Nybegynder
28. oktober 2002 - 14:28 #18
right now there is only 8 online . You can visit the page at http://www.ztedet.dk
Avatar billede koldstar Nybegynder
28. oktober 2002 - 14:28 #19
according to chart.dk
Avatar billede koldstar Nybegynder
28. oktober 2002 - 14:29 #20
hvor skal jeg ellers lukke den???
Avatar billede koldstar Nybegynder
28. oktober 2002 - 14:30 #21
kan det være fordi at jeg ikke lukker rs???
Avatar billede Slettet bruger
28. oktober 2002 - 14:30 #22
Er det stationær data, eller ændres den data du henter fra databasen konstant?
Avatar billede koldstar Nybegynder
28. oktober 2002 - 14:32 #23
den ændres konstant
Avatar billede exp-ralle Nybegynder
28. oktober 2002 - 14:33 #24
schulze --> Han lukker den da lige efter han har lukket sit loop.
Og loopet kan jo ikke tjekke om det IKKE er rs.EOF hvis man har lukket databasen, vel?
Avatar billede koldstar Nybegynder
28. oktober 2002 - 14:33 #25
men jeg har tænkt mig at bl.a  forsiden skal caches i ca. 1 døgn
Avatar billede Slettet bruger
28. oktober 2002 - 14:35 #26
Jeg synes du skulle kigge på de links jeg har smidt. Især det sidste.
coveryourasp.com viser tydeligt at det kan lade sig gøre.
Kræver selvfølgelig kode diciplin, men det er da muligt.
Avatar billede Slettet bruger
28. oktober 2002 - 14:37 #27
exp-ralle>Well, i hans eks. lukker han jo først databasen, lige inden </body>, min pointe er at så snart data er hentet skal der lukkes, der er ingen grund til at vente på resten af siden.
Avatar billede Slettet bruger
28. oktober 2002 - 14:38 #28
Sådan forestiller jeg hans sider normalt ser ud:

<html>
<title>Hente data fra database</title>
<head>
</head>
<body>
<%
' Databaseforbindelse - husk at angive sti til din database
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("/cgi-bin/database.mdb")
Conn.Open DSN

' SQL forespørgsel
strSQL = "Select * from personer"
' Udfør forespørgsel (rs indeholder nu resultatet)
Set rs = Conn.Execute(strSQL)

' Gennemløb Recordset (rs) med en løkke
Do

  ' Udskriv værdien af kolonnen Fornavn
  Response.Write rs("Fornavn") & "<br>"

  ' Gå til næste Record i rs
  rs.MoveNext

' Fortsæt indtil rs er gennemløbet (EOF = End Of File)
Loop While Not rs.EOF
<b>hfdbsjfbdjh</b>
dgsjdnkfds
dfds
fdsf
dsfds
fs

osv........

' Luk databaseforbindelse
Conn.Close
Set Conn = Nothing
%>
</body>
</html>
Avatar billede koldstar Nybegynder
28. oktober 2002 - 14:38 #29
det har jeg gjort...
og de to første punkter er så godt som opfyldt....
Men det sidste kan jeg ikke gøre noget ved, da jeg jo lejer et webhotel
Avatar billede koldstar Nybegynder
28. oktober 2002 - 14:39 #30
nej. jeg lukker db lige efter loopet...
Avatar billede Slettet bruger
28. oktober 2002 - 14:41 #31
Ok., cacher du også via applikations variabler?
Avatar billede martinlind Nybegynder
28. oktober 2002 - 14:44 #32
Ja, man kan jo undre sig over at Oracle ikke er gået konkus og at M$ overhovedet gider lave M$SQL server, når nu Access er SÅ FANTASTISK
Avatar billede koldstar Nybegynder
28. oktober 2002 - 14:47 #33
det er ikek helt færdigt endnu... men det er da meningen at det skal være gennem applikationsvariabler
Avatar billede proaccess Nybegynder
28. oktober 2002 - 14:48 #34
TIL MARTINLIND:

Svar: martinlind
28/10-2002 14:08:24    Interbase er gratis og kører godt, ellers mySQL som også er gratis, du kan få odbc-drivere til dem begge

Kommentar: martinlind
28/10-2002 14:08:43    IB er MEGET nem at installere og vedligeholde


Det virker på mig, som om du har en copy/paste feature på din maskine, som både kan lave et svar og en kommentar, til hvert eneste spørgsmål, som vedrører hvilken DB, der kan benyttes...
Nu ER Interbase altså IKKE ligefrem det eneste alternativ på denne planet...  Du kan være nok så begejstret for produktet, men udbredelsen kan vel aflæses i antallet af indlæg på den del af forummet (eksperten.dk)
Avatar billede Slettet bruger
28. oktober 2002 - 14:48 #35
Well, martinblind når en hjemmeside der har haft over 1 mio. besøgende med mange samtidige brugere, virker fint er der jo ingen grund til at invistere i mere.

MSSQL er kanon ingen tvivl om det, men hvornår er det lige den er nødvendig. På Eksperten f.eks. er svaret ja da der er mange databasekald hele tiden.
Avatar billede martinlind Nybegynder
28. oktober 2002 - 14:56 #36
proaccess >> IB er en fin db og den er gratis ligesom mySQL men noget overset i den sammen hæng og ja du har helt ret i at man i DK ikke bruger den så meget, men det bliver den faktisk ikke dårligere af, for øvrigt var jeg ikke klar over at man også skulle til at sencurere folks meninger her på sitet, er det den nye stil efter i er blevet solgt !!!!
Avatar billede terry Ekspert
28. oktober 2002 - 14:58 #37
but still only 199 users, and if half of them are doing nothing then Access can manage this site :o)
Avatar billede Slettet bruger
28. oktober 2002 - 14:59 #38
martinlind>Det kaldes dialog ikke censur(går ud fra det er det du mener med sencuerer). Der er nu engang delte meninger om tingene.
Avatar billede koldstar Nybegynder
28. oktober 2002 - 15:09 #39
jeg vender tilbage iaften
Avatar billede proaccess Nybegynder
29. oktober 2002 - 08:47 #40
>martinlund: jeg ville på ingen måde censurere din mening, det var (som schulze rigtigt har fornemmet) blot et forsøg på dialog...
Jeg ville blot påpege at et skift af database absolut IKKE løser alle problemer... IB er et ganske udemærket produkt, som ganske rigtigt trænger til noget "reklame", men jeg spammer jo altså IKKE hvert eneste spørgsmål om databaser, med svaret: "Skift til Access, fordi så kan du det meste...!"

Samtidig vil jeg dog på det kraftigste gøre opmærksom på at jeg IKKE er andet end en almindelig bruger på Eksperten, og derfor ikke har nogen indflydelse på eventuel "nye stil efter I er blevet solgt"...
Avatar billede kennie_nm Nybegynder
29. oktober 2002 - 10:37 #41
jeg synes I mangler en ret væsentlig detalje: support for transaktioner

hvis du har vigtige data, der skal være konsistente må du vælge en database med support for transaktioner. MySQL er en hurtig database fordi den skriver direkte ned i et regneark, men hvad gør du hvis strømmen ryger undervejs? Er der opdateret eller ej? Jeg ville ALDRIG bruge MySQL til seriøs databehandling andet end til læseadgang (hurtig webadgang).

Access understøtter heller ikke transaktioner (IMHOer Access det værste databasevalg, det burde ikke være tilladt at bruge Access som andet end frontend).

Jeg ved at Oracle og MS SQL server understøtter transaktioner, kender ikke de andre.
Avatar billede terry Ekspert
29. oktober 2002 - 10:41 #42
Access supports transactions :o)
Avatar billede martinlind Nybegynder
29. oktober 2002 - 10:54 #43
Det gør de fleste "rigtige" databaser.

PA >> Jeg mener ikke jeg spammer, manden sp. og jeg foreslå TO gratis baser der er et rigtig godt alternativ til Access.
Avatar billede flse Nybegynder
29. oktober 2002 - 19:41 #44
Af de "databaser" du nævner som alternativ til Access, er det kun anbefale Oracle samt MS SQL Server som normalt vil kunne betegnes som egentlig database servere, som kan håndtere mange samtidige brugere på en fornuftig vis.

Som alternativ kan jeg varmt anbefale MySQL Server, men det kræver jo at din udbyder tilbyder denne mulighed.

kennie_nm: MySQL understøtter skam transaktioner, selvom man ofte vælger at køre de fleste tabeller uden, da de færreste transaktioner har behov for at være atomare, og at dette er væsentlig tungere.

Terry: Access supportere ganske vidst transaktioner. Access er dog også istand til totalt at beslaglægge CPU'en på en webserver med et minimum af samtidige brugere.
Avatar billede terry Ekspert
30. oktober 2002 - 08:12 #45
koldstar I think you have received ALL the information you need, how about closing the question now.
Avatar billede terry Ekspert
30. oktober 2002 - 08:16 #46
flse>Yes Access does have its limitaions, like almost all systems do. My experience doesnt cover web programming so much, but waht I have seen from others IS that most problems ARE caused by BAD programming :o)
You can take the above mentioned link www.coveryourasp.com for example, and there are MANY more web sites base on Access, which in fact is more thna likley one of the most widely used dB's fopr web sites :o)
Avatar billede terry Ekspert
30. oktober 2002 - 08:17 #47
But DONT get me wrong, I work with Access, SQL server AND Oracle.
Avatar billede flse Nybegynder
30. oktober 2002 - 08:47 #48
terry> jeg bruger selv Access, og er glad for det. Men dog kun til Windoze løsninger med få samtidige brugere.

Det er korrekt at Access bliver brugt til mange web-sider, men det er fordi det mest pga at Access kan benyttes direkte som fil, og ikke skal defineres som database på webserveren.
Selvom Access bliver brugt til mange web-sider, så er det næsten udelukkende små sites med få hits der benytter den.

Langt de fleste kommercielle sites benytter MySQL, Oracle eller Sybase.
Avatar billede terry Ekspert
30. oktober 2002 - 08:50 #49
what do you define as "små sites og få hits" ?
Avatar billede Slettet bruger
30. oktober 2002 - 08:54 #50
At optimere koden til Access er som at tisse i bukserne.

Det er en rigtig god ide at flytte til en "rigtig" databaseserver, men spørgsmålet er vel også hvad du er klar til at betale for denne ydelse.

I langt de fleste tilfælde er både MS SQL og MySQL til at få adgang til for en yderst rimelig pris om måneden.

De databaser som du nævner, er det nogen som scannet tilbyder?
Avatar billede Slettet bruger
30. oktober 2002 - 08:55 #51
Du kan lige så godt forberede dit website på at få flere besøgende fremover og så er Access nok ikke en fremtidsikret løsning.
Avatar billede koldstar Nybegynder
30. oktober 2002 - 09:20 #52
ja, dem jeg nævner er dem som scannet tilbyder på mit nuværende webhotel
Avatar billede terry Ekspert
30. oktober 2002 - 09:23 #53
"At optimere koden til Access er som at tisse i bukserne"!

No its just a case of learning to program correctly from the start :o)
Just because one uses a "rigtig" databaseserver doesnt mean you are allowed to code badly does it?



www.BuyDomains.dk (SQL server)
Avatar billede koldstar Nybegynder
30. oktober 2002 - 09:32 #54
okay, det lyder som om at jeg sagtens kan bruge access et godt stykke tid endnu, men hvis jeg på et tidspunkt skal omlægge til en anden db, hvilken skal jeg så vælge af disse: FoxPro, Oracle, Paradox, Visual FoxPro, SQL Server

Det er de ovenstående som jeg har på mit webhotel. Grunden til at jeg ikke kan flytte webhotel er at vi har betalt forud for en laaaaang periode... så det vil jo være lidt spild at penge :=)
Avatar billede Slettet bruger
30. oktober 2002 - 09:33 #55
terry> I'm just saying that betting on Access in the future would be a bad investment.

It's better to invest the time and mony in a larger and more scaleable database.

I'm NOT saying that Access is a shitty database, and i'm NOT saying that you should write your code with blindfolds on.
Avatar billede terry Ekspert
30. oktober 2002 - 09:35 #56
I agree :o)
Avatar billede proaccess Nybegynder
30. oktober 2002 - 09:42 #57
Hvis du allerede har en Access database, så vil det nok være nemmest at opgradere til SQL-Server...  Jvf. Begge er M$-produkter (vist nok med guided opgradering)
Avatar billede flse Nybegynder
30. oktober 2002 - 10:09 #58
Jeg vil afgjort ikke anbefale dig at benytte Access som database.
Jeg vil som proaccess anbefale dig at skifte til SQL Server, når du ScanNet tilbyder denne mulighed. Hvis du er fortrolig med Access er det forholdsvis let at skifte til Enterprise Manager, som er det program man styrer en MS SQL Server med.
Avatar billede Slettet bruger
30. oktober 2002 - 10:14 #59
Alternativt kan du stadig bruge Access som frontend, så du visuelt ikke kan se forskel.
Avatar billede koldstar Nybegynder
30. oktober 2002 - 10:36 #60
Tak skal i have.
så må jeg jo hellere lukke. Men bare rolig jeg kommer nok snart tilbage med spørgsmål omkring hvordan jeg rent faktisk skal bære mig ad....
Avatar billede koldstar Nybegynder
30. oktober 2002 - 10:37 #61
elbarto og flse. Hvis I også vil have point kan i lige lave et svar.
Avatar billede Slettet bruger
30. oktober 2002 - 10:38 #62
Det siger man vel adrig nej til ;)
Avatar billede flse Nybegynder
30. oktober 2002 - 10:45 #63
så skidt da ... skønt at man kan få point for at ævle løs ;-)
Avatar billede koldstar Nybegynder
30. oktober 2002 - 13:47 #64
såadn. det blev kun til 50 til hver, da man jo højst kan give 200
Avatar billede terry Ekspert
30. oktober 2002 - 13:52 #65
tak :o)
Avatar billede proaccess Nybegynder
30. oktober 2002 - 13:57 #66
tak :o)
Avatar billede flse Nybegynder
30. oktober 2002 - 13:57 #67
takker, men det er vel først og fremmest for at hjælpe hinanden, at vi er her, ik?  :-)

iøvrigt kan jeg ikke betale med point hos min lokale grønthandler :-/
Avatar billede Slettet bruger
30. oktober 2002 - 17:24 #68
Well selv tak ;-)
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
Computerworld tilbyder specialiserede kurser i database-management

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