Avatar billede kennedk Nybegynder
21. marts 2007 - 19:38 Der er 25 kommentarer og
1 løsning

installere mysql og få det til at funke

Hej Eksperter :)
Jeg er bygyndt på asp her for en halvanden uge siden, og jeg er ved at have godt styr på de database udtræk osv med access.
jeg kommer lige fra php og har lavet en del med PHP og mysql :)
Og så tænkte jeg på hvordan man får installeret mysql på sin IIS så det virker til asp :)
jeg vil gerne have hvis der er en der kender til en hel guide, GERNE på dansk

Og er der nogen forskel på hvordan man skal håndtere access og mysql i aspen? Altså mysql sproget er jo det samme? men hvad med forbindelsen til severen osv

Håber der er nogen der kan hjælpe mig :)
Avatar billede madeindk Nybegynder
21. marts 2007 - 20:03 #1
Du installerer ikke MySQL på din IIS - det installerer du som et selvstændigt program og så laver du en DSN til den fra din administrative værktøjer. Men du kan jo starte med at hente den her: http://dev.mysql.com/get/Downloads/MySQL-5.0/mysql-5.0.37-win32.zip/from/pick og så denne her der også skal installeres på serveren, det er ODBC connectoren: http://dev.mysql.com/get/Downloads/MyODBC3/mysql-connector-odbc-3.51.14-win32.msi/from/pick

Så kan du bare svare når du har gjort det, så må vi kigge på det derfra :-)
Avatar billede kennedk Nybegynder
21. marts 2007 - 20:59 #2
Sådan, nu er det gjort. Der har stået at det var korrekt installeret. og ja, nu er jeg blank :)
Avatar billede madeindk Nybegynder
21. marts 2007 - 21:04 #3
Ok - så går du ind i dine 'Administrationsværktøjer' - måske skal du lige slå dem til at de gerne må blive vist ved at klikke på Start og så vælge 'Menuen start' og så 'Tilpas' for derefter at vælge 'Avanceret'.
Avatar billede kennedk Nybegynder
21. marts 2007 - 21:07 #4
Det er jeg nu, og så kan jeg så forstille mig at jeg skal ind i datakilder (ODBC) ? :)
Avatar billede madeindk Nybegynder
21. marts 2007 - 21:09 #5
Præcis - og der klikker du så på 'Tilføj' og så finder den der hedder MySQL ODBC 3.51 på listen og udfylder så bare de informationer.
Avatar billede kennedk Nybegynder
21. marts 2007 - 21:14 #6
nu er den tilføjet og trykkede "TEST" og den lavded success.
Hvad så?:)
Avatar billede madeindk Nybegynder
21. marts 2007 - 21:20 #7
Cool mayn. Så er vi næsten klar til at komme til ASP koden, du skal bare lige downloade en GUI pakke fra MySQL så du kan administratere din database og se hvilke poster der er oprettet i den, det er jo ofte ret praktisk kan man sige.

http://dev.mysql.com/get/Downloads/MySQLGUITools/mysql-gui-tools-5.0-r10-win32.msi/from/pick
Avatar billede kennedk Nybegynder
21. marts 2007 - 21:27 #8
Nu er det installeret, og det ser ud til at virke, men jeg forstår ikke så meget af det ;) men det er jo bare at lege med det
Avatar billede madeindk Nybegynder
21. marts 2007 - 21:29 #9
Du skal starte med at oprette en ny database. Lad os antage at du laver en database der hedder 'minDatabase' inde i MySQL Admintratoren, det gør du ved at vælge catalogs og højreklikke i det hvide felt der dukker frem under menuerne til venstre.
Avatar billede madeindk Nybegynder
21. marts 2007 - 21:30 #10
Eller den hedder 'Create New Schema' kom jeg lige til at se :-)
Avatar billede kennedk Nybegynder
21. marts 2007 - 21:33 #11
Nu har jeg oprettet en database med en tabel i, det virker jo fint ser det ud til:)
Avatar billede madeindk Nybegynder
21. marts 2007 - 21:35 #12
Ok, fint nok. Hvad hedder din database og hvad hedder din tabel så? :-)
Avatar billede kennedk Nybegynder
21. marts 2007 - 21:36 #13
jeg er ved at lave en Cv, så min database hedder dbCv , og min tabel hedden tblSider :)
Avatar billede kennedk Nybegynder
21. marts 2007 - 21:38 #14
det hedder selvfølgelig: et CV
Avatar billede madeindk Nybegynder
21. marts 2007 - 21:39 #15
Ok. Helt fint, så lad os prøve at sætte noget ASP ind. Jeg ville bestemt foreslå dig at lave det sådan her, hvis du kender til Subs så ved du hvor smart det er.

Følgende kode ligger du så i en include fil der hedder fx. hedder dbconn eller lignende.

<%
Set objConn = Server.CreateObject("ADODB.Connection")
ConnDSN = "Driver={MySQL ODBC 3.51 Driver}; Server=localhost; Database=dbCv; UID=ditBrugernavn; PWD=dinAdgangskode;"

Sub OpenConn
  ObjConn.Open ConnDSN
End Sub

Sub CloseConn
  ObjConn.Close
End Sub
%>

Og dbconn.asp inkluderer du så på siden du skal bruge det på og åbner så din database sådan her:

<% Call OpenConn %> Og lukker den igen sådan her: <% Call CloseConn %>

Lad os starte med at se hvad den siger til det :-)
Avatar billede kennedk Nybegynder
21. marts 2007 - 21:45 #16
Den brokker sig slet ikke:)
Avatar billede madeindk Nybegynder
21. marts 2007 - 21:47 #17
Det lyder ret fornuftigt. Så tester vi lige ved at tælle posterne op i databasen og hvis det virker, så kører din MySQL Server på skinner ;-)

<%
Call OpenConn

strSQL = "SELECT COUNT(*) AS antalPoster FROM tblSider "
Set rs = ObjConn.Execute(strSQL)

Response.Write rs("antalPoster")

Call CloseConn
%>
Avatar billede kennedk Nybegynder
21. marts 2007 - 21:49 #18
Den skriver 0 og det passer jo meget godt ;)
Men nu da jeg kommer fra access her i asp, der skriver man jo:

Set rsSider = Server.CreateObject("ADODB.Recordset")
rsSider.Open sql, dbCv

Virker mysql kun på den måde som du skriver der?
Avatar billede madeindk Nybegynder
21. marts 2007 - 21:50 #19
Nej, man kan godt bruge Recordset, men det er super langsomt. Det er bedre at bruge SELECT, UPDATE, INSERT INTO som du nok kender fra PHP?
Avatar billede madeindk Nybegynder
21. marts 2007 - 21:52 #20
Det med at vende sig til "rigtige" SQL sætninger er bare en vane sag. Jeg har også brugt recordset i langtid, men synes virkelig jeg kan mærke forskel på det og så det andet. Jeg kan finde nogle eksempler til dig, hvis du ikke kender til det? Men det må du næsten gøre hvis du har arbejdet med PHP - der er jo ikke rigtig noget der hedder recordset så vidt jeg ved :-)
Avatar billede kennedk Nybegynder
21. marts 2007 - 21:53 #21
Ja det gør jeg da :) men man bliver jo nødt til at spørge ;)
men er det langsomt at skrive eller er det langsomt på severen?

og nu her med access, der havde jeg problemer med LIMIT.
Det er intet problem her vel:
strSQL = "SELECT COUNT(*) AS antalPoster FROM tblSider LIMIT 2"
Avatar billede kennedk Nybegynder
21. marts 2007 - 21:54 #22
hov, man kan jo ikke sætte limit på en count
strSQL = "SELECT * FROM tblSider LIMIT 2"

kopierede bare fra din tidligere post;)
Avatar billede madeindk Nybegynder
21. marts 2007 - 21:55 #23
Det er langsomt for serveren - ikke langsomt for os programmører, det går jo nærmest hurtigere og mere smertefrit. Men man skal vel også tænke på perfomance.

Men LIMIT er en MySQL funktion - i MS Access hedder det TOP, fx. sådan her:
<% strSQL = "SELECT TOP 1 FROM users ORDER BY userID DESC " %>
Så vil den hive den nyeste bruger ud.

Men jeg smider et svar, vi har jo fået det sat op :-)
Avatar billede madeindk Nybegynder
21. marts 2007 - 21:57 #24
Der er jo ikke nogen ide i at sætte en LMIIT på en count. Hvis du skal hive noget ud fra din database skal du gøre sådan her, jeg lavet bare lige en count for at tæste.

<%
Call OpenConn

strSQL = "SELECT * FROM tblSider "
Set rs = ObjConn.Execute(strSQL)

If rs.eof Then
  Response.Write "Ingen poster fundet..."
Else

  Do While not rs.eof
    Response.Write "Post fundet!<br />" ' Her kan du fx. skrive rs("sidenavn")
  rs.MoveNext
  Loop

End If

Call CloseConn
%>
Avatar billede kennedk Nybegynder
21. marts 2007 - 21:57 #25
jeg siger tak rigtig mange gange :)
Det har været guld værd
Du har sgu fortjent dine point

Men jeg blev sgu en del klogere , mange tak
Avatar billede madeindk Nybegynder
21. marts 2007 - 21:58 #26
Det var da så lidt, det var godt du blev klogere. Der er da ikke noget bedre :-)
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