Avatar billede dudesicko Novice
22. marts 2004 - 12:01 Der er 11 kommentarer og
1 løsning

Fra Access til MySql, men hvordan laver man.

Jeg leger lidt med tanken om at smide mine gamle Access over i MySql, jeg har konverteret databaserne om til MySql, men hvormeget skal så laves om i koden ?

Jeg troede at det var nok bare at lave en ny connection

<%
Conn_String = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("accessdatabase.mdb")
    Set Conn=Server.CreateObject("ADODB.Connection")
    Conn.Open Conn_String
    sql = "select * from cat order by cat"
    set rs = Conn.Execute (sql)
%>

Til

<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Driver={mySQL}; Server=xxx.xxx.xxx.xxx; Port=3306; Option=131072; Stmt=; uid=uidher; pwd=pwdher;"
    Conn.Open Conn_String
    sql = "select * from cat order by cat"
    set rs = Conn.Execute (sql)
%>
Avatar billede dudesicko Novice
22. marts 2004 - 12:03 #1
Oh her er fejlen jeg får :)

ADODB.Connection error '800a0e79'

Operation is not allowed when the object is open.

/blandet/linkstest/Default.asp, line 48

Linie 48 er så: Conn.Open Conn_String
Avatar billede keysersoze Ekspert
22. marts 2004 - 12:08 #2
du åbner Conn to gange i den nederste...

<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Driver={mySQL}; Server=xxx.xxx.xxx.xxx; Port=3306; Option=131072; Stmt=; uid=uidher; pwd=pwdher;"
    sql = "select * from cat order by cat"
    set rs = Conn.Execute (sql)
%>
Avatar billede dudesicko Novice
22. marts 2004 - 12:32 #3
Ok sålangt sågodt :)

Men nu får jeg en fejl i linien: sqlcount = "SELECT count(url) FROM link2 where parentid='" & rs("id") & "' and show=yes"

<%
            ParentID = rs("id")
            sqlcount = "SELECT count(url) FROM link2 where parentid='" & rs("id") & "' and show=yes"
            Set RScounts = Conn.Execute(sqlcount)
            rcounts = RScounts(0)
            Response.Write ("(" & rcounts & ")")
            Response.Write "<br>"
            subsql = "SELECT  top 3 * FROM subcat where catID='" & ParentID & "' order by subcatname"
              set rssubcat = conn.Execute(subsql)
            count = rssubcat.RecordCount
            count = 1
              do while not rssubcat.EOF and count<=3           
%>
Avatar billede keysersoze Ekspert
22. marts 2004 - 13:07 #4
sqlcount = "SELECT count(url) FROM link2 where parentid=" & rs("id") & " and show=yes"

måske dette - afhænger jo af kolonnetyperne
Avatar billede dudesicko Novice
22. marts 2004 - 13:32 #5
Nå men du har jo egentlig besvaret mit egentlige spørgsmål, men det ser ud til at man ikke bare kan skifte connection ud, uden at skulle i gang med alt muligt andet også øv :D
Avatar billede keysersoze Ekspert
22. marts 2004 - 13:41 #6
langt hen ad vejen burde det også kunne lade sig gøre - men der er forskelle ved dato-felter, true/false, select top etc
Avatar billede hnteknik Novice
22. marts 2004 - 14:42 #7
Du skal også være opmærksom ved UPDATE - du skal til at bruge mere ren SQL sprog og ikke Access genveje.
Avatar billede keysersoze Ekspert
22. marts 2004 - 14:46 #8
hvad mere "rent" SQL er der ved det?
Avatar billede hnteknik Novice
22. marts 2004 - 14:49 #9
Du kan ikke mere bruge
with rs
...
.fields()..
.
.
.update
end with
Avatar billede keysersoze Ekspert
22. marts 2004 - 14:58 #10
det tror jeg heller ikke der er så mange der gør... men hvad ved jeg
Avatar billede hnteknik Novice
22. marts 2004 - 15:05 #11
Der er nok flere end du tror, fordi det har været nemmere at gå til end ( UPDATE... SET..). O g har man lavet noget der virker, så ... kopier man.
Avatar billede keysersoze Ekspert
22. marts 2004 - 16:05 #12
jeg ser det nu sjældent - og alle de tutorials jeg har set henviser til "rigtig" sql... men derfor kan det selvfølgelig være at alle andre end jeg gør :)

men lad nu det ligge :)
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