Avatar billede mitbrugernavn Praktikant
16. august 2005 - 08:54 Der er 20 kommentarer og
2 løsninger

fra asp/access til asp/mySQL el. anden db

har et site som er programmeret i asp og db access, dette ønsker jeg at lægge om til Asp og en anden db, f.eks mySQL (eller andet forslag) - p.g.a. brugertilgangen.
Hvor store ændringer skal der ske i min programmering ?
Hvis, er der så en anden db der kan bruges, således at sitet kan lægges direkte til (selvfølgelig er der nogle ændringer i connection)

Gerne et prof svar, da jeg jo helst vil undgå alt for mange søvnløse nætter ;-))
Avatar billede busschou Praktikant
16. august 2005 - 09:07 #1
da access og mssql begge er M$ kunne jeg forestille mig at den overgang er nemmere end til mysql
Fx skal der i mysql ikke # omkring datoer hvilket der skal i access og mssql
Af andre ting kan nævnes at Top ikke eksisterer i mysql hvor man i stedet skal benytte sig af Limit
Uanset hvad kan man nok ikke undgå at der vil skulle rettes lidt hist og pist
Men hvis du blot ønsker at skifte database og er lidt ligeglad med til hvilken så tror jeg det er nemmest til mssql
Andre alternativer er postgresql og oracle
Avatar billede arne_v Ekspert
16. august 2005 - 09:09 #2
det afhænger meget af din SQL

har du bruget pænt standard SQL hele vejen, så retter du din connection string og
så virker det

har du bruge masser af Access specifik SQL kan du komme til at omskrive alle
done SQL sætninger

sørg endelig for at det er nyeste MySQL (4.1) - det vil undgå nogle nogle
porblemer - nogle af de vanskeligste problemer
Avatar billede arne_v Ekspert
16. august 2005 - 09:09 #3
(hm - ny rekord i slag fejl - jeg håber at det kan læses)
Avatar billede mitbrugernavn Praktikant
16. august 2005 - 09:13 #4
ok - jeg har også læst mig frem til mySQL (hvilket der også er adgang til på serveren).
Mit næste spørgsmål er så - kan jeg kører mySQL og iis på min lokale maskine uden problemer, altså når jeg har installeret mySQL - så futter det bare derud af ?

Kan jeg omkonventerer min access db til mySQL ?
Avatar billede mitbrugernavn Praktikant
16. august 2005 - 09:14 #5
til arne

Det er helt ok - især når man er lidt på bar bund som jeg med mySQL ;-))
Avatar billede nielle Nybegynder
16. august 2005 - 09:15 #6
Hvis du flytter fra Access/MS SQL til MySQL så skal du være klar over at MySQL er case-sensitiv mht. tabel- og attributnavne. Derfor kan du hurtigt komme i en situation hvor du skal gennemgå samtlige SQL-sætninger i din applikation for at sikre at disse også ville kunne køre på den nye database. Desværre er Access/MS SQL så large mht. hvad den tillader, at det tilskynder programmørene til at set stort på visse dele af SQL-standarden.

Bortset fra dette så er forskellene ikke så store når det kommer til stykket. Et par vigtige undtagelser er  hvis du har brug for at:

1) Trække id for den sidste indsatte række.
2) Hvis du skal have ”de 10 første rækker” fra en tabel.
Avatar billede arne_v Ekspert
16. august 2005 - 09:15 #7
du kan sagtens køre MySQL på din egen maskine

uden problemer ?  tja - det afhænger nok af manden ved tastaturet !

der findes konverterings programmer fra Access til MySQL, menMySQL ODBC driver +
Access + copy paste er normalt godt nok
Avatar billede arne_v Ekspert
16. august 2005 - 09:18 #8
tabel navne er case senstive på platforme med case sensitive fil systemer
(på jævnt dansk: de er case sensitive på Linux men ikke på Windows)

felt navne er ikke case senstitive
Avatar billede mitbrugernavn Praktikant
16. august 2005 - 09:19 #9
til arne

Ja, fejl 40 er jo nok den mest kendte ;-)) men det går nok
Avatar billede mitbrugernavn Praktikant
16. august 2005 - 09:22 #10
til nielle

heldigvis er jeg meget omhyggelig med case-sensitiv i navne, så det skulle ikke give problemer i forhold til min nuværende access og asp programmering, men jeg er selvfølgelig klar over at der skal en mindre gennemgang til - bare jeg ikke skal ud i et nyet programmeringssprog (tegn)

vil du uddybe dine undtagelser ?
Avatar billede busschou Praktikant
16. august 2005 - 09:25 #11
det er forskellen på at du i access kan vælge Top 10 men du i Mysql skal lave Limit 0,9 i stedet
Avatar billede arne_v Ekspert
16. august 2005 - 09:33 #12
0,10 ikke ?
Avatar billede nielle Nybegynder
16. august 2005 - 09:33 #13
Ad 1)

Access/MS SQL :

SELECT @@IDENTITY AS lastID FROM dinTabel

MySQL :

SELECT LAST_INSERT_ID() AS lastID FROM dinTabel


Ad 2)

Access/MS SQL :

SELECT TOP 10 * FROM dinTabel ORDER BY id DESC

MySQL :

SELECT * FROM dinTabel ORDER BY id DESC LIMIT 0, 10


Iøvrigt kan jeg anbefale nedenstående side. Den demonstrer nogle af de mere eksotiske variationer mellem de forskellige databaser.

http://sqlzoo.net/
Avatar billede mitbrugernavn Praktikant
16. august 2005 - 09:45 #14
Takker mange gange for gode svar. Håber jeg får det til at fungerer ellers vender jeg stærkt tilbage med spørgsmål.
Hvis I alle 3 lægger et svar så må jeg dele pointene, (hvis jeg så kan finde ud af det)  ;-))
Avatar billede nielle Nybegynder
16. august 2005 - 09:48 #15
Svar :^)
Avatar billede arne_v Ekspert
16. august 2005 - 10:00 #16
.
Avatar billede busschou Praktikant
19. august 2005 - 22:48 #17
forsinket svar ;O)
Avatar billede nielle Nybegynder
19. august 2005 - 23:53 #18
busschou> ... du ved ... den der lille detalje med at vælge "svar" ... ;^)
Avatar billede nielle Nybegynder
19. august 2005 - 23:54 #19
Ah, nu er jeg da vist for træt! Go' nat! :^)
Avatar billede arne_v Ekspert
20. august 2005 - 00:02 #20
busschou>

skal vi overføre points til dig ?
Avatar billede busschou Praktikant
20. august 2005 - 07:50 #21
nej nej det er ok jeg overlever nok :o)
Avatar billede mitbrugernavn Praktikant
22. august 2005 - 07:47 #22
Det beklager jeg, men kommer du med et godt svar næste gang jeg stiller et ? så lover jeg at du får poient :-))
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