Avatar billede kotelet Nybegynder
13. august 2001 - 19:48 Der er 8 kommentarer og
1 løsning

Konvertér Acces conn.str. til MySQL

Hej. Jeg har lige netop konverteret min gamle acces database til en MySQL database ... Nu mangler jeg bare at opdatere mine conections og database queries...

Er der nogen der kan give mig et script som f.eks. gør præcis det samme som scriptet herunder .. bare med MySQL. :

----------- ASP --------------------------------

Set Conn = Server.CreateObject(\"ADODB.Connection\")
DSN = \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath (\"/cgi-bin/party2.mdb\")
Conn.Open DSN

strSQL = \"Select * from tabel\"
Set rs2 = Conn.Execute(strSQL)

DO while not rs.eof
Response.Write rs(\"navn\")
rs.Movenext
LOOP

---------------------------------------

Avatar billede kotelet Nybegynder
13. august 2001 - 19:49 #1
selvfølgelig skal der stå rs og ikke rs2 <-----
Avatar billede alvion Nybegynder
13. august 2001 - 20:04 #2
dsn = \"driver={MySQL};server=127.0.0.1;database=XXXXX;uid=YYYY;pwd=ZZZZ\"

hvor du indsætter
- din databases navn i XXXX
- dit mySQL bruger-id i YYYY
- dit mySQL password i ZZZ
Avatar billede alvion Nybegynder
13. august 2001 - 20:05 #3
Ellers gør du de øvrige ting på samme måde
Avatar billede kotelet Nybegynder
13. august 2001 - 20:07 #4
Dvs???:

Set Conn = Server.CreateObject(\"ADODB.Connection\")
dsn = \"driver={MySQL};server=127.0.0.1;database=XXXXX;uid=YYYY;pwd=ZZZZ\"

Conn.Open DSN

strSQL = \"Select * from tabel\"
Set rs = Conn.Execute(strSQL)

DO while not rs.eof
Response.Write rs(\"navn\")
rs.Movenext
LOOP
Avatar billede alvion Nybegynder
13. august 2001 - 20:19 #5
Korrekt
Avatar billede kotelet Nybegynder
13. august 2001 - 20:24 #6
Hvad er 127.0.0.1 ?
Avatar billede kotelet Nybegynder
13. august 2001 - 20:37 #7
Jeg smider 10 point oveni nu ... Men så svarer du også på disse to :-)

Hvad er 127.0.0.1 ? Er det ALTID det? Eller er det forskelligt fra server til server

og

Er SQL-strenge de samme med MySQL og Acces?
Avatar billede alvion Nybegynder
13. august 2001 - 20:49 #8
Det er jo afpresning ;-)

127.0.0.1 er ip-adressen på den maskine hvor din MySQL server kører. 127.0.0.1 er speciel, idet den altid betyder \"denne maskine\" altså det som også kaldes \"localhost\".

Så hvis din ASP-kode kører på samme maskine som din MySQL, så bruger du 127.0.0.1 eller localhost. Ligger MySQL på en anden maskine, angiver du dennes ip-adresse (eller DSN navn, f.eks. \"db.ditdomain.dk\"


SQL-strenge er strengt taget ;-) de samme mellem MySQL og Access, idet de begge nogenlunde holder sig til Ansi92 SQL-standarden. Access kan dog ikke dy sig og \"snyde\" lidt. Der er dog forskelle. Her er nogen af de væsentlige:

- \"tabel1 inner join tabel2\" laves i MySQL som \"from tabel1, tabel2\"

- typerne er ikke helt ens. Access har \"autonummerering\", i MySQL hedder denne \"auto_increment\". Du kan se alle access \"afvigelser\" fra Ansi92 i Access\' hjælpefil (kan ikke lige huske hvor)

- bruger du apostrof (\') i streng-udtryk skrives i i Access således \'bla bla \'\' bla\' - i MySQL således \'bla bla \\\' bla\'

En anden ting: Brug ALDRIG recordset til INSERT, UPDATE og DELETE funktioner. Brug ALTID rene SQL-sætninger.

En ting mere: For at får fat i værdien på et autonumereret felt efter indsættelse, gør du som dette eksempel (jeg forudsætter at dit autonummererede felt hedder \"idnr\":

sql = \"insert into dintabel (felt1, felt2) values (\'Carsten\', \'Gehling\')\"
conn.execute(sql)

sql = \"select idnr from dintabel where idnr = last_insert_id()\"
set rs = conn.execute(sql)
idnr = rs(\"idnr\")
rs.close
set rs = nothing

Der er en lang forklaring på det, som jeg ikke har tid til at give dig nu :-)
Avatar billede kotelet Nybegynder
14. august 2001 - 22:12 #9
That\'ll do for now :-) thx!

/Kotelet
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