24. oktober 2003 - 13:37Der er
12 kommentarer og 1 løsning
Fra Microsoft DB til MySQL DB
Hej Jeg har lavet en hjemmeside til et firma og har lavet den i ASP med Microsoft DB men finder så ud af at det webhotel de har, ikke under støtter Microsoft DB men MySQL DB. De har ChiliSoft ASP installeret på deres servere...
Skal der laves meget om? eller er det nok bare at ændre i den måde man Connecter til databasen?
Du skal foerst og fremmest have portet DB'em til MySQL, hvilket kan vaere lidt besvaerligt i sig selv alt afhaengigt af hvor kompleks din DB er. Dernaeste skal du have rettet ASP-connect osv. Resten af ASP-koden skulle i teorien vaere ok, hvis noejagtigt den samme struktur er bibevaret i mysql-db'en. Men jeg ville normalt betragte det som en stoerre opgave at gaa igang med...
Hejsa... Jeg er lige ved at være igennem en lignende operation, bare fra ASP/Access. I starten prøvede jeg bare at konvertere som du nævner, og det gik nogenlunde. Der var flere ting der skal ændres hist og pist, bl.a tror jeg ikke Access er Case-afhængig. Men en anden ting er, at nu du flytter, kunne det lyde lidt som om du kommer over på en server som ikke er Windows baseret, derved løber du ind i et andet problem, nemlig at ASP ikke nødvendigvis 100 % er ASP. Jeg havde en del problemer i hvertfald, og endte med at skrive siden om til PHP, da jeg alligevel var arbejdsløs på tidspunktet.. (Så fik jeg jo også lært php.. ;-) ) Men held og lykke med opgaven, det kan lade sig gøre, der skal bare fiddles lidt.
Og så skal du selvfølgelig huske at få alt det gamle data over.. Det kræver også lige et lille script..
hvad mener du med et? Det jeg gør er at hente teks fra DB'sen og frem på siden her er et eks: <% if session("loginOK") <> "" Then strDSN = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("database.mdb")&";Persist Security Info=False" Set myConn = Server.CreateObject("ADODB.Connection") myConn.Open strDSN
strSQL = "INSERT INTO login (bruger) values ('"&session("bruger")&"')" Set data = myConn.Execute(strSQL)
strSQL = "SELECT * FROM users where id=" & session("loginOK") Set data = myConn.Execute(strSQL) username = data("username") password = data("Password") fnavn = data("fnavn") billed = data("billed") id = data("id") status = data("status") titel = data("titel") data.Close myConn.Close else end if %>
Jeg tror hvad anhansen mener er at paa UNIX og linux servere koerer man ikke ASP, men emuleret ASP. Chillisoft er netop en linux-emulering af ASP, og disse programmer fungerer generelt ganske godtr, men der kan vaere enkelte specifikkke asp-funktionaliteter som ikke er daekket i emuleringen. Saa laenge du er klar over det og faar gennemtestet siden skulle der ikke novedendigvis blive de store problemer.
Korrekt overchord. Hvis det er det eneste du bruger skulle det ikke være noget problem.. Og hvis db'en ikke er mere avanceret skulle det også være rimelig hurtigt at skrive et lille script der flytter dataen.
Den bruger SQL som alle andre.. Så mere behøves du vist ikke kende. Måske har udbyderen installeret phpMyadmin, som er et webbaseret kontrolpanel til styring af den, det er meget nemt at bruge. Men ellers kører du en SELECT * FROM users
Så hiver du data ud. Laver en CREATE TABLE users ( id int(11) NOT NULL autoincrement, osv...
Alternativt, hvis alt ligger i tabeller- kan du ogsaa bare eksportere helt dyngen til tekst-filer og benytte phpMyadmin til at genimportere dem i mysql. phpmyadmin er et godt vaerktoej til administering af mysql, men hvis du aldrig har arbejdet med det kan starten med sikkerhedsopsaetninger osv vaere lidt frustrerende.
Lige for at undgå misforståelser om at ASP skulle være meget ens på Windows, så skal det med at ASP på windows heller ikke lig med ASP på windows. Jeg har skiftet server et par gange, og hver gang brød dele af ASP-koden sammen, men det er jo MS-produkter, så man må regne med at bare den mindste versionsforskel kan give problemer. (et problem var at True ikke er det samme som True på to forskellige servere, men på den ene skal være skrevet som "True")
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.