Avatar billede riishoj Nybegynder
28. august 2004 - 11:34 Der er 13 kommentarer og
1 løsning

MySQL vs. Access

Jeg har et bookingsystem, som er forbundet med en Access database. Systemet har efterhånden fået rigtig mange brugere, og det har fået mig til at spekulere på, om Access kan håndtere de mange brugere, og jeg overvejer derfor at gå over til MySQL, som findes på min udbyders server.
Er der en, som kort kan forklare fordelene ved MySQL, og også evt. ulemper? Kan jeg bruge min Access db lokalt og uploade tabellerne til MySQL? Vil  sql-sætninger i mine scripts også virke i MySQL eller skal jeg bruge en form for converter? Og er det i det hele taget bøvlet værd at forsøge?
Avatar billede arne_v Ekspert
28. august 2004 - 11:38 #1
MySQL bør kunne håndtere flere samtidige brugere som opdaterer end Access.

Hvis dit web hotel tillader direkte afgang til MySQL udefra, så
kan du godt flytte direkte op, men det er meget tvivlsomt om
dit web hotel gør det. Så der bliver du nødt til at lave en eller
anden eksport import løsning.

Hvis du har skrevet dine scripts med pæn standard SQL, så bør de også
virke med MySQL. Hvis du har bruget masser af Access specifikke VB funktioner
etc. så kan det give meget arbejde at konvertere. Det afhænger helt af dine
scripts.
Avatar billede riishoj Nybegynder
28. august 2004 - 11:49 #2
Jeg har mange scripts i systemet, men i bund og grund laver de det samme. Hvis jeg nu viste dig et eksempel, vil du så kunne se, om mine sql-kald vil give problemer i MySQL?
Avatar billede arne_v Ekspert
28. august 2004 - 11:59 #3
Det vil jeg tro
Avatar billede riishoj Nybegynder
28. august 2004 - 12:12 #4
Her er noget med lidt asp ind i mellem. Har på fornemmelsen at de her # kan give problemer!

<%
    ConnString = "DSN=xxx"
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open ConnString
   
    lektion = Request.Querystring("lektion")
    dag = Request.Querystring("dag")
    reservation = Request.Querystring("reservation")
 

   
    dim SQLdag(7)
SQLdag(1) = "Mandag"
SQLdag(2) = "Tirsdag"
SQLdag(3) = "Onsdag"
SQLdag(4) = "Torsdag"
SQLdag(5) = "Fredag"
SQLdag(6) = "Lørdag"
SQLdag(7) = "Søndag"

dim linkdag(7)
linkdag(1) = "mandag"
linkdag(2) = "tirsdag"
linkdag(3) = "onsdag"
linkdag(4) = "torsdag"
linkdag(5) = "fredag"
linkdag(6) = "lørdag"
linkdag(7) = "søndag"


for lektion = 1 to 8

  Response.Write "<tr>"
    Response.Write "<td width=8% height=40 align=center bgcolor=#999999><font face=Verdana size=2 color=#ffffff>" & lektion & ". time</font></td>"


  for dag = 1 to 5
 
  datoStr = UgeTilDato(aar, uge, 1)
datoStr = Month(datoStr) & "-" & Day(datoStr) & "-" & Right(Year(datoStr),2)


strSQL = "SELECT dag,tekst,lektion FROM assensskolen_blokering WHERE reservation='edb' AND dag='" & SQLdag(dag) & "' AND lektion='" & lektion & "' AND mindato <= #" & datoStr & "# AND maxDato >= #" & datoStr & "#"
set rs = Conn.Execute(strSQL)

if not (rs.EOF or rs.BOF) then
Response.write"<td border=1  bordercolor=#0000FF bordercolordark=#FFFFFF bordercolorlight=#0000F width=18% height=40 bgcolor=red><font face=Verdana size=1 color=#FFFFFF><p align=center>"&rs("tekst")&"</font></td>" 
 
Else
      'generer data og HTML kode for (dag,lektion)
      strSQL = "SELECT initialer,klasse FROM assensskolen_reserver WHERE reservation='edb' AND dag='" & SQLdag(dag) & "' AND lektion='" & lektion & "' AND uge='" & uge & "' AND aar='" & aar & "'"
set rs = Conn.Execute(strSQL)
if rs.EOF or rs.BOF then
Response.Write"<td width=18% height=40 bgcolor=#F0F8F8><font color=#ffffff><A HREF='reserver_form.asp?aar=" & aar & "&uge=" & uge & "&dag=" & linkdag(dag) & "&lektion=" & lektion & "&reservation=edb'><img border=0 src='../images/greenball.gif' alt='Ledig'></font></td>"

  Else

    Response.Write"<td width=18% height=40 bgcolor=#F0F8F8><b><font color=#ffffff face='verdana' size='2'><img src='../images/redball.gif' alt='Optaget'><img src='../images/blank2.gif'><A class='speciel' HREF='vis_reservation.asp?reservation=edb&lektion=" & lektion & "&dag=" & linkdag(dag) & "&uge=" & uge &"'>"&rs("initialer")&"</A></font></b></td>"

    rs.MoveNext
   
    End if
    End if
  next
  Response.Write "</tr>"
next
 

    Conn.Close
    Set Conn = Nothing
Avatar billede arne_v Ekspert
28. august 2004 - 12:29 #5
Ja - de skal formentlig laves om.

Men  det ser nu ikke slemt ud.

Læs om MySQL tids format her:
  http://dev.mysql.com/doc/mysql/en/DATETIME.html
Avatar billede riishoj Nybegynder
28. august 2004 - 12:31 #6
Er det det eneste, som giver problemer?
Avatar billede arne_v Ekspert
28. august 2004 - 12:33 #7
Ja det tror jeg fordi ellers er det jo bare en super simpel SELECT
statement.

Al data manipulation laver du jo i ASP og ikke i SQL (hvilket er heldigt i
denne sammenhæng).
Avatar billede per-olof Nybegynder
28. august 2004 - 12:43 #8
Der findes et program Access to Mysql på http://www.convert-in.com/acc2sql.htm jeg prøvet med godt resultat
Avatar billede riishoj Nybegynder
28. august 2004 - 12:44 #9
Er dette her ren sql?

strSQL ="SELECT * FROM hovedlogin WHERE UCase(username) = '" & UCase(strUsername) & "' AND UCase(Password) = '" & UCase(strPassword) & "'"
Avatar billede arne_v Ekspert
28. august 2004 - 12:45 #10
Nej.

Fordi du bruger UCase funktionen i SQL (også i ASP men det er helt uproblematisk).
Avatar billede per-olof Nybegynder
28. august 2004 - 12:46 #11
Der er dok begrensninger som kræver "lidt" handarbejde
Avatar billede arne_v Ekspert
28. august 2004 - 12:46 #12
Nu var du heldig !

MySQL har tilfældigvis også UCase !!

Check listen på http://dev.mysql.com/doc/mysql/en/String_functions.html
Avatar billede riishoj Nybegynder
28. august 2004 - 12:55 #13
OK, Jeg tror, at jeg er klar til at forsøge, det kan jo aldrig gå værre end galt! Tak for forklaringerne, som har gjort mig lidt klogere, så send lige et svar arne v.
Avatar billede arne_v Ekspert
28. august 2004 - 12:57 #14
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
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