Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17
  1. #1
    Utente di HTML.it L'avatar di danz67
    Registrato dal
    May 2005
    Messaggi
    213

    DELPHI 7 - Migrare da Access a Firebird

    Ciao a tutti,

    finalmente ho deciso di fare il grande passo, la migrazione da database Access a Firebird.

    Ovviamente ho la necessità di migrare anche i dati, qualcuno puo' darmi qualche informazione al riguardo?

    Grazie

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472
    La domanda è un po' generica. Più che altro, hai esperienza di qualcosa riguardo FireBird?

    P.S.: ottima scelta, comunque!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Utente di HTML.it L'avatar di danz67
    Registrato dal
    May 2005
    Messaggi
    213
    Diciamo che mi sto documentando, comunque ho già fatto delle prove di collegamento con alcuni db di prova, sia con dbexpress che con i componenti di interbase.

  4. #4
    Utente di HTML.it L'avatar di danz67
    Registrato dal
    May 2005
    Messaggi
    213
    Spiego quello che ho fatto fino adesso:

    Ho creato un db di nome dati.fdb

    Ho covertito il mio db dati.mdb con un tool di conversione che ho trovato in rete, nella conversione ho anche importato i dati.

    Ho creato un'accesso con i componenti di interbase per visualizzare i dati in una dbgrid.

    Ottengo un'errore di questo tipo:

    "Dynamic SQL error code = 104 token unknow - line 1, char 8 from"

    Che è sucecsso?

  5. #5
    Utente di HTML.it L'avatar di danz67
    Registrato dal
    May 2005
    Messaggi
    213
    Nessun aiuto?


  6. #6
    A occhio c'è un'istruzione SQL errata. Hai eseguito una query che andava bene in access su firebird
    Le sintassi SQL di ACCESS e Firebird sono parecchio differenti.
    Quello di Firebird è un SQL (quasi ) completamente ANSI compatibile,
    mentre quello di Access invece ha poco di standard.
    Posta l'istruzione e qualcuno t aiuterà.

    Ciao

  7. #7
    Utente di HTML.it L'avatar di danz67
    Registrato dal
    May 2005
    Messaggi
    213
    Ho usato un tool di conversione e pertanto l'istruzione se l'è creata in automatico, comunque ho appena risolto utilizzando un'altro programma che ho trovato (sempre in versione demo) che ha svolto il suo compito senza riportare alcun tipo di errore.
    Grazie lo stesso per l'aiuto.

  8. #8
    Utente di HTML.it L'avatar di danz67
    Registrato dal
    May 2005
    Messaggi
    213
    Ho riscontrato un problemino, ho una tabella con 2 campi che in access era cosi' composta:

    id autoincrement, descrizione varchar (50)

    nella conversione ho notato che il campo id è diventato di tipo integer e non viene creato un numero progressivo (contatore) automatico ad ogni inserimento di un nuovo record.
    Tramite un ottimo tool di gestione firebird sono riuscito a farlo diventare autoincrement, vi posto il codice

    CREATE TABLE "Accessori" (
    "idAccessori" INTEGER NOT NULL,
    "descrizione " VARCHAR(50) CHARACTER SET ISO8859_1 COLLATE ISO8859_1);


    ALTER TABLE "Accessori" ADD PRIMARY KEY ("id");


    CREATE TRIGGER "BI_Accessori_id" FOR "Accessori"
    ACTIVE BEFORE INSERT
    POSITION 0
    AS
    BEGIN
    IF (NEW."id" IS NULL) THEN
    NEW."id" = GEN_ID("Accessori_id_GEN", 1);
    END;

    Cosa ho sbagliato?

  9. #9
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472
    Originariamente inviato da danz67
    nella conversione ho notato che il campo id è diventato di tipo integer e non viene creato un numero progressivo (contatore) automatico ad ogni inserimento di un nuovo record.
    Non esiste un campo autoincrementale in FireBird: esistono tuttavia i generatori, elementi con cui è possibile "generare" - appunto - valori progressivi, diversi anche per ogni utente e transazione, da attribuire (via trigger, stored o software client) al campo univoco eletto come "autoincrementale".
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  10. #10
    Utente di HTML.it L'avatar di danz67
    Registrato dal
    May 2005
    Messaggi
    213
    Quindi una volta creato un generatore direttamente da firebird posso gestirlo tranquillamente via software? Potrei creare una funzione per contare le righe, selezionare la max e attribuire un valore superiore di 1. Che ne pensi?


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.