Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente bannato
    Registrato dal
    Jan 2002
    Messaggi
    440

    passare da access a mysql

    Ciao ragazzi
    ho un sito strutturato in ASP e che si appoggia su database access...purtroppo l'aumento delle visite e l'aumento dei record inseriti mi manda in crash il sito e vorrei passare a mysql (sono in hosting)...

    Mi domandavo una cosa... a parte la il diverso modo di connessione al database, nel codice asp dovrò cambiare altro? cioè la migrazione è indolore da questo punto di vista?

    Altra curiosità...come potrò effettuare la migrazione dei dati (e tabelle) dell'attuale database access?? (premetto che tutte le tabelle non sono corelate), quindi la struttura è molto semplice..

    A presto

  2. #2
    Moderatore di Annunci siti web L'avatar di Cesar
    Registrato dal
    Dec 2001
    Messaggi
    3,446

    Re: passare da access a mysql


    Mi domandavo una cosa... a parte la il diverso modo di connessione al database, nel codice asp dovrò cambiare altro? cioè la migrazione è indolore da questo punto di vista?
    se viene usato un codice sql standard, allora nessun problema.
    Altra curiosità...come potrò effettuare la migrazione dei dati (e tabelle) dell'attuale database access?? (premetto che tutte le tabelle non sono corelate), quindi la struttura è molto semplice..

    A presto
    puoi usare il tool fornito da mysql
    http://www.mysql.com/products/migration-toolkit/
    http://www.mysql.com/products/migrat...nTutorial.html

  3. #3
    Utente di HTML.it L'avatar di marco_c
    Registrato dal
    Jun 2004
    Messaggi
    1,047
    io sono appena passato da access a mysql.
    i cambiamenti nel codice che ho riscontrato sono stati 5


    1) In MySQL non esiste la "TOP", bisogna usare la LIMIT


    2) In MySQL quando faccio una query che contiene un COUNT non posso ordinare i record con "ORDER BY Count(Campo)", ma devo usare il relativo alias:

    SELECT Count(id) AS numero FROM tabella ORDER BY Count(id)

    diventa

    SELECT Count(id) AS numero FROM tabella ORDER BY Numero


    3) In MySQL quando faccio una query che contiene un COUNT non posso usare il valore del count come un intero, ma devo farne il cast:

    SELECT Count(id) AS numero FROM tabella ORDER BY Numero

    non posso fare

    x = y + rs("Numero")

    ma devo fare

    x = y + CInt(rs("Numero"))


    4) La paginazione dei record non può essere fatta con le proprietà AbsolutePage e RecordCount
    Bisogna usare la LIMIT


    5) Quando si richiama un campo di un recordset (dopo che il RS è stato aperto) non è possibile usare RS("nometabella.nomecampo"), bisogna usare degli alias
    Gli uomini si dividono in due categorie: i geni e quelli che dicono di esserlo. Io sono un genio.

  4. #4
    Utente bannato
    Registrato dal
    Jan 2002
    Messaggi
    440
    ok
    nei casi che hai elencato non ci dovrebbero essere problemi... la struttura del codice è abbastanza semplice...

    per effettuare la migrazione di access su mysql devo avere particolai permessi per il server? o è una procedura che posso effettuare in autonomia?

    A presto

  5. #5
    Utente bannato
    Registrato dal
    Jan 2002
    Messaggi
    440
    Ciao...
    ho iniziato a migrare da access a mysql ma sto notando che le limitazioni sono moltissime..a partire anche dal modo in cui memorizzavo i record nel db... prima bastava rd.addnew adesso devo fare delle query....

    a questo punto mi domandavo se non era megllio iniziare a sviluppare direttamente in Asp.Net considerando che cmq dovrò rimettere mani a tutto il codice.

  6. #6
    va sempre usato SQL standard...

    .addnew --> INSERT
    .update --> UPDATE
    .delete --> DELETE

    tutto il resto resta restatamente quantunquamente uguale. se passi ad asp.net butti via tutto.

  7. #7
    Utente bannato
    Registrato dal
    Jan 2002
    Messaggi
    440
    Ok infatti stavo riflettendo proprio su questo... Con le INSERT mi domandavo se era possibile formattare meglio il codice... ti spiego..

    Dato che ho pagine in cui devo inserire molti valori..non vorrei scrivere su tutta una riga..altrimenti mi rimane difficile la manutenzione sullo script...

    C'è un modo per andare a capo per ogni record inserito?

    Ho anche visto che now() non funziona...cosa devo usare?

  8. #8
    puoi fare

    codice:
    Dim sSQL
    
    sSQL = "INSERT INTO ("
    sSQL = sSQL & " campo1, "
    sSQL = sSQL & " campo2, "
    ...
    sSQL = sSQL & " campoN "
    sSQL = sSQL & ") VALUES ("
    sSQL = sSQL & " valore1,"
    sSQL = sSQL & " valore2,"
    ...
    sSQL = sSQL & "valoreN
    sSQL = sSQL & ")"
    
    ObjConnection.Execute sSQL


    that easy!

  9. #9
    Utente bannato
    Registrato dal
    Jan 2002
    Messaggi
    440
    ok...noto sempre di più che le differenze nel codice ci sono... Adesso ho questo problemino....

    Ho questo script

    rs = Server.CreateObject("ADODB.Recordset")
    set rs = conn.execute("SELECT * FROM assistenza")
    dim assistenza_nome(100)
    dim assistenza_email(100)
    max=0
    i=0
    if not rs.eof then
    do until rs.eof
    assistenza_nome(i)=rs("ruolo_assistenza")
    assistenza_email(i)=rs("email")
    max=i
    i=i+1
    rs.movenext
    loop
    end if
    rs.Close
    set rs = Nothing

    Con questo script...quando tento di visualizza le array mi da dei bei "???????????????????????????" come mai?

  10. #10
    Originariamente inviato da pazzo2
    ok...noto sempre di più che le differenze nel codice ci sono...
    non sono differenze di codice. il codice che ti ho postato va bene anche con access, perche' e' universale. il fatto e' che tu hai usato dei metodi ado (.addnew ecc) che vanno bene quasi solo con access (e infatti sono metodi deprecati)

    Originariamente inviato da pazzo2
    Adesso ho questo problemino....
    ....
    Con questo script...quando tento di visualizza le array mi da dei bei "???????????????????????????" come mai?
    cosa ne so... controlla che i dati ci siano. l'array e' dimensionato in maniera fissa, quindi non e' detto che tu abbia 100 righe 100...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.