Avatar billede gandja Nybegynder
24. oktober 2003 - 13:37 Der 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?

hilsen
Gandja
Avatar billede overchord Nybegynder
24. oktober 2003 - 13:40 #1
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...
Avatar billede anhansen Nybegynder
24. oktober 2003 - 14:02 #2
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..
Avatar billede gandja Nybegynder
24. oktober 2003 - 14:03 #3
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
%>
Avatar billede overchord Nybegynder
24. oktober 2003 - 14:14 #4
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.
Avatar billede anhansen Nybegynder
24. oktober 2003 - 14:17 #5
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.
Avatar billede gandja Nybegynder
24. oktober 2003 - 14:23 #6
ok hvad skal jeg så gøre nu? jeg gemmer også i DB med indskrivning af nyhheder o.s.v... men det er mest med at hente og skrive i DB'en
Avatar billede anhansen Nybegynder
24. oktober 2003 - 14:30 #7
du skal ændre connection til at pege på mysql.
Og så skal du ha dataen fra den gamle db over og ligge i den nye db.
Avatar billede gandja Nybegynder
24. oktober 2003 - 14:45 #8
Ja men hvordan gør man det? kender ikke noget som helst til MySQL
Avatar billede anhansen Nybegynder
24. oktober 2003 - 14:53 #9
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...

INSERT INTO users (id, osv.. ) VALUES (1, osv...)

Og fyrer det hele af...
Avatar billede overchord Nybegynder
24. oktober 2003 - 15:07 #10
Her er nogle foreslag til hvordan man porter Access til mysql:

http://www.geocrawler.com/mail/msg.php3?msg_id=5055319&list=13

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.
Avatar billede anhansen Nybegynder
24. oktober 2003 - 15:10 #11
gandja skal vel ikke selv sætte noget op... Det kører jo på et webhotel.. Men ellers ja.. ;-)
Avatar billede egonspock Seniormester
25. oktober 2003 - 12:54 #12
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")
Avatar billede anhansen Nybegynder
31. oktober 2003 - 08:06 #13
Tid til at lukke tråden?
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