Gå til innhold

Flytte data frå Microsoft database til MySQL?


Anbefalte innlegg

Hei,

Eg slit litt med eit aldri så lite problem. Det har seg nemleg slik at eg har ein heil haug data som eg trur vart lagra i ein Microsoft-database. Er det då Microsoft SQL? Eg er heilt grøn når det kjem til Microsofts databaser, og det same gjeld språka deira. Eg nytter berre PHP, og vil diffor flytte ein eventuell database over i MySQL (helst grafisk ved hjelp av phpmyadmin).

 

Men somsagt er eg grøn på Microsoft språk, og filene som angiveleg koblar til denne databasen (det må vere database då eg ikkje finn informasjon i flatfiler) er i ASPX-format (det verker som dette berre er markup), samt serverprogrammeringa i tilhøyrande filer med same namn, berre filetternamn .CS i plassen for ASPX.

 

Kva prøver eg å finne, kva skal eg sjå etter når det gjeld tilkobling til database?

Eg har forresten berre brukarnamn og passord til FTP, eg trenge vel moglegens noko meir enn dette? Kva treng eg spesifisert - og vil eg finne eit grafisk brukargrensesnitt? Bare dei seier kva eg treng kan eg ringe til leverandøren av webhotellet å få tak i noko.

 

Vil det vere mogleg å flytte dataene frå det molbodatabasen det ligg i no, over til MySQL trur dykk?

Takker for alle svar.

 

Ein moderator må gjerne flytte tråden om den paser betre under ei anna forumkategori (ASPX til dømes).

Lenke til kommentar
Videoannonse
Annonse

.cs filene er C# kildekode. Vanlig praksis er å lagre connectionstrengen til databasen i we.config filen. Sjekk om du finner noe der. Se om du finner noe i appConfig eller connectionStrings i denne filen og post dette her.

 

Hvis du ikke finner noe i web.config så er det mulig connectionstengen er hardkodet i en eller flere .cs filer.

Lenke til kommentar

Eg fann fila Web.Config på serveren no. I AppSettings fann eg ein slik string (som eg trur er kva eg ser etter):

 

<add key="hibernate.connection.connection_string"value="Data Source=xxx.xx.xxx.xx;Initial Catalog=systor_sidenavn;Persist Security Info=True;User ID=brukernavn;Password=passord" />

 

Har fjerna nokre sensitive opplysningar (ip, brukarnamn og passord).

Men korleis koblar eg meg til? Har dei noko kontrollpanel trur du, og kan eg flytte dette over til MySQL?

Lenke til kommentar

Det kan se ut som dette er connectionstrengen til en SQL Server, men jeg kan ikke være sikker før jeg ser hvilken DBConnection klasse som brukes i kildekoden.

 

Sannsynligvis så brukes en OR-M (kanskje NHibernate), så du må sjekke om det er noen config/xml filer som er knyttet til denne. Sjekk også at OR-Men støtter MySQL. Hvis ikke blir det en "håpløs" omskrivingsjobb av kildekoden.

 

Hvis du har tilgang til serveren xxx.xxx.xxx.xxx så kan du jo logge inn og sjekke om SQL Server er installert.

Du bruker SQL Server Management Studio for å koble deg til serveren.

Lenke til kommentar
Det sto noko NHibernate greier ja.

Er det mogleg å flytte data over til MySQL trur du?

NHibernate støtter MySQL, så det er mulig å flytte fra SQL Server, men hvor mye arbeid det innebærer vet jeg ikke. Hvilken versjon av SQL Server er det dere bruker? Og hvorfor vil dere bytte til noe så kjipt som MySQL? Hvis dere absolutt skal bytte til gratis/multiplattform så burde dere heller gå for PostgreSQL som har bedre ytelse og mye mer funksjonalitet.
Lenke til kommentar
Kva vil vere så mykje betre med PostgreSQL, eller nokon av dei andre?
Funksjonalitet og ytelse. MySQL har alltid surret for seg selv i en lavere divisjon.

For all del, MySQL har sine bruksområder. MyISAM har veldig god leseytelse, men dette går ekstremt på bekostning av skriveytelsen. Hvis dataene har noen som helst verdi for deg så er ikke MyISAM et alternativ, da denne motoren ikke har noen god beskyttelse mot datatap og korrupsjon. For å få dette så må du over på InnoDb, men da kan du like godt flytte over til PostgreSql som har bedre ytelse, for ikke å snakke om mye mer funksjonalitet.

 

Om du skal bruke MySQL eller ikke kommer an på hvordan systemet brukes (read only? mye skriving?), hvor komplekse datamodeller du har (MySQL skal ha veldig store ytelsesproblemer når spørringene begynner å bli semikomplekse, som i mange joins), og om dataene som lagres har noen verdi for deg.

 

SQL Server er et mye bedre produkt en MySQL, og hvis du ikke har andre grunner for å bytte system en at du kjenner MySQL bedre, så foreslår jeg at du lar det kjøre på SQL Server. Bli heller kjent med SQL Server, så vil du fort innse hvilket leketøy MySQL er.

 

Hvilken versjon av SQL Server kjører dere på forresten? Jeg ønsker jo ikke å "lure" dere til å kjøre videre med noe gammelt "ræl" som versjon 7 eller 2000.

Lenke til kommentar
Men der er ikkje særleg mykje data det er snakk om, er MySQL så utruleg dårleg?
Ja, MySQL er faktisk SÅ dårlig. Det spiller ingen rolle om det er små eller store datamengder.

La meg gi deg noen årsaker til at vederstyggeligheten MySQL burde forsvinne fra jordens overflate:

Den mest brukte databasemotoren MyISAM har ikke transaksjonsstøtte. Ikke er den ACID compliant, hvilket gjør at den burde omdøpes til MyVoid. Ikke har den foreign key constraints. Den har kun table level locking, hvilket gjør den ubrukelig i et multiusermiljø som består av både read og writes.

Bytter du til InnoDb så mister du som sagt mye lesehastiget, og du kan da heller bytte til PostgreSQL som har bedre ytelse. I tillegg så er ikke InnoDB ACID compliant med standard konfigurasjon. Du må endre konfigurasjonsparametre for å få full ACID støtte, hvilket gjør InnoDB ENDA tregere enn sine konkurrenter.

 

Mitt råd er at du glemmer MySQL raskest mulig og lærer deg et skikkelig RDBMS. Jeg sier ikke at MySQL er ubrukelig til alt. Det kan nok ha sine fordeler, f.eks. som et read only system der dataene ligger trygt lagret i et annet RDBMS, men som et overall databasesystem duger det ikke.

Lenke til kommentar
  • 3 uker senere...

MySQL og PostgreSQL følger ikke nøyaktig samme syntaks og inneholder litt forskjellige funksjoner, så det er derfor ikke bare bare å migrere hvis du har en ganske stor applikasjon som jobber mot databasen. Dersom man har designet skikkelig, med abstraksjon og ORM, så er det riktig nok en ganske smalere sak. Det funker absolutt med PHP, selvom det er et par småting som gjerne kunne vært veldig annerledes.

 

http://us2.php.net/manual/en/book.pgsql.php

 

Bare bytt ut mysql_ med pg_, så er du basically i mål. :p

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...