Mi mostra la Query solo se gli gira

di il
13 risposte

Mi mostra la Query solo se gli gira

Ciao a tutti, da parecchio che non mi faccio leggere.

Voglio fare una premessa: per il DB che ho realizzato (e che ogni volta lo sviluppo), le tabelle le ho convertite in MySql e trasferite in host su un dominio comprato su DominioFaiDaTe.it (12,50 € l'anno, niente male).

Chiaramente tutto collegato in ODBC al front-end; ovviamente molte maschere sono state adattate o, nella peggiore delle ipotesi, rifatte ex-novo e sembra che tutto funzioni a regola d'arte.

Ho detto sembra....

Sì perché in primis pare che l'elaborazione delle query si sia rallentata (certe volte, per l'esecuzione di qualche aggiornamento ci impiega davvero un bel pò, cosa che in locale è praticamente istantaneo; e dire che ho anche un collegamento a 1 GBit, dovrebbe aiutare).
In Secundis, e in particolare per una maschera, la visualizzazione della query la fa quando gli pare e piace ...

In pratica, per effettuare una perizia, ho bisogno di agire su una classifica di prezzi, a seconda della qualità del prodotto; diciamo che, per es., ho una scala di 6 classi, da A fino a F, dove la A ha un prezzo di 10, B di 9, C di 8 e via discorrendo.

Per questione di comodità nell'elaborazione, ho creato una tabella temporanea, analoga a quella di archiviazione finale, sulla quale lavoro prima di concludere la perizia; quando la perizia è conclusa, "svuoto" la temporanea in quella di archiviazione e ho finito.

Il problema sorge in quanto, quando eseguo la query di creazione dei record sulla tabella temporanea, a volte sì e a volte no, al Requery non mi fa vedere l'elenco dei record.
Ho anche creato una subroutine su un pulsante, che mi cancella il contenuto della tabella temporanea e poi me la ricrea, ma a volte si ostina a non farmi visualizzare i record della tabella Temporanea; eppure, se apro la tabella temporanea, i record ci sono, e tutti regolarmente compilati...!

So che possa sembrare assurdo, ma non me lo spiego nemmeno io; ho controllato e ricontrollato allo sfinimento tutte le sub, e sono scritte tutte correttamente, nel senso che, se le faccio lavorare su tabelle ACCESS in locale, non mi dà mai nessun problema; il problema me lo da solo sulle tabelle in hosting.

Qualche suggerimento? Sarà qualcosa del server host che non va?

13 Risposte

  • Re: Mi mostra la Query solo se gli gira

    Si,

    POICHE' mysql sta' su una MACCHINA VIRTUALE in qualche infrastruttura cloud in giro per il mondo

    1) dovresti controllare le caratteristiche della VM e vedere se sono ragionevoli. Se e' una macchina MONOCORE con 1GB di ram, magari non basta
    2) se devi cambiare le caratteristiche, NON PUOI METTERE numeri a caso perche' il limite COMUNQUE e' l'hardware fisico su cui la VM gira. Anche se metti 64 core e 128GB di ram, e l'hardware fisico a 8 core e 16 GB di ram, QUESTO e' il massimo che puoi usare senza perdite di peformace
    3) la TUA VM gira su un hadrware fisico che COMUNQUE viene usato da ALTRE VM, QUINDI le performance della TUA VM DIPENDONO da quanto carico di lavoro sta' facendo la macchina fisica
    4) ci potrebbero anche essere problemi di connettivita': il fatto che la tua linea si a 1GBit (ma IN UPLOAD, IN DOWNLOAD o IN ENTRAMBE LE DIREZIONI? Probabilmente SOLO IN DOWNLOAD!) NON VUOL DIRE che la linea del provider ti assicuri la stessa velocita'! Ci sono un numero imprecisato di apparati di rete e sezioni di Internet che attraversi per andara dal TUO PC al PC del provider e ritorno
  • Re: Mi mostra la Query solo se gli gira

    E' la fibra di Vodafone: 250 Mbps in Upload e 998 Mbps in Download

    Hai qualche buon suggerimento?

    Cambio host (magari su qualcosa di più serio tipo Aruba o roba simile)?
  • Re: Mi mostra la Query solo se gli gira

    Intanto non hai seguito il suggerimento di controllare le caratteristiche della tua VM.

    Non è che saltare qui e lì tra vari fornitori di servizi sia risolutivo o possa essere una soluzione di per sè,
    Devi conoscere le esigenze del tuo DB e query e prevedere delle risorse adeguate.

    Fra l'altro, potresti rivedere le query e adottare indici più appropriati ma questo lo sai solo tu.
    E potresti provare il tutto con MySql in locale per ottimizzare tutto.
  • Re: Mi mostra la Query solo se gli gira

    oregon ha scritto:


    Intanto non hai seguito il suggerimento di controllare le caratteristiche della tua VM.

    Non è che saltare qui e lì tra vari fornitori di servizi sia risolutivo o possa essere una soluzione di per sè,
    Devi conoscere le esigenze del tuo DB e query e prevedere delle risorse adeguate.

    Fra l'altro, potresti rivedere le query e adottare indici più appropriati ma questo lo sai solo tu.
    E potresti provare il tutto con MySql in locale per ottimizzare tutto.
    Perdonami, però non ho afferrato su cosa ti riferisci della MIA macchina virtuale.
    Io non uso una macchina virtuale; semplicemente uso Access 2016, tabelle collegate con ODBC a 32 bit (sto preparando il PC per il 64 bit, ma devo avere un pò di tempo libero per farlo) e "migrate" con un applicativo trovato in rete. E, tra l'altro, per migrarle c'è voluto parecchio tempo....

    Le query sono semplici, e gli indici li formo io direttamente nelle maschere.

    Parli con un autodidatta che si sta impegnando tantissimo, però anche io ho delle lacune, scusami

    Tra l'altro ho appena notato una cosa:
    Quando avvio la maschera "incriminata" dal menù di procedura, l'errore me lo dà: avvio la query, questa mi carica gli N record nella tabella provvisoria, effettuo il Requery e non mi visualizza i record nella maschera.

    Ovviamente cancello tutto, SENZA USCIRE DALLA MASCHERA e vado in Struttura per verificare il problema, controllo tutto (non trovo niente di errato e non correggo assolutamente niente nel codice), vado in modalità Visualizza e la maschera si comporta COME SI DEVE COMPORTARE.

    Salvo la maschera, esco , rientro, rifaccio l'imputazione dei dati e NUOVAMENTE la maschera NON MI VISUALIZZA I RECORD.

    Come se me lo volesse fare per dispetto. Giuro che non ci capisco niente.
  • Re: Mi mostra la Query solo se gli gira

    Ho provato a rifare ex-novo la maschera.
    Cambiata la query legata alla maschera; adesso mi visualizza un riassunto delle perizie; la classifica di cui sopra l'ho spostata su un'altra maschera ad-hoc che funziona alla perfezione.

    Alla maschera "madre", dopo aver fatto tutti gli ancoraggi delle caselle, delle etichette, dopo aver ricopiato di sana pianta tutto il codice, la maschera funziona.
    Vado in struttura, controllo, tutto ok; eseguo la maschera, tutto ok

    Esco dalla maschera per tornare al menù, seleziono di nuovo la maschera tanto agognata .... DI NUOVO NON MI VISUALIZZA I RECORD.
    Vado in Struttura Maschera SENZA FARE NESSUN RITOCCO, torno in Visualizza Maschera: tutto funziona alla perfezione.

  • Re: Mi mostra la Query solo se gli gira

    Visto ciò che indichi:

    carlo pots ha scritto:


    Le query sono semplici, e gli indici li formo io direttamente nelle maschere.
    il problema potrebbe risiedere nella creazione degli indici che vengono effettuati direttamente nella maschera, mentre di norma su un DBMS sono creati a corredo della tabella in modo che vengano aggiornati per ciascun record che viene inserito o aggiornato (al fine di avere le chiavi allineate).
    Da considerare, inoltre, che l'indice può essere legato a relazioni con ulteriori tabelle; di conseguenza la Requery, che effettui sulla maschera, potrebbe non essere allineata, nei tempi, con i dati che MySQL deve restituire ordinati.
    Quindi mi focalizzerei sulla modalità con cui gestisci i dati della maschera visto anche che dopo aver agito sulla struttura i dati risultano visibili.
  • Re: Mi mostra la Query solo se gli gira

    willy55 ha scritto:


    Visto ciò che indichi:

    carlo pots ha scritto:


    Le query sono semplici, e gli indici li formo io direttamente nelle maschere.
    il problema potrebbe risiedere nella creazione degli indici che vengono effettuati direttamente nella maschera, mentre di norma su un DBMS sono creati a corredo della tabella in modo che vengano aggiornati per ciascun record che viene inserito o aggiornato (al fine di avere le chiavi allineate).
    Da considerare, inoltre,
    E qui forse sta il problema: effettivamente l'indice del record della maschera "madre" (quella che non mi funziona, praticamente) è relazionato con un campo di quella classifica di cui parlavo al primo post.
    Prima di migrare le tabelle, non ho pensato di eliminare la relazione.
    Adesso ho controllato sul FE e non trovo le relazioni (ovviamente); ho provato a controllare le tabelle tramite Oracle Workbench e non riesco a trovare (se c'è) la funzione che mi permette di visualizzare le relazioni.

    Che faccio? Elimino la relazione dal DB originario (access) e rifaccio la migrazione di queste due tabelle?
    Credi che potrei risolvere?
  • Re: Mi mostra la Query solo se gli gira

    Allora, forse sto a un buon punto.

    Premetto che la query della maschera parte già filtrata, ovvero:
    nei criteri di visualizzazione della query, già parte (all'avvio) con dei criteri di visualizzazione di determinati record, sulla base dell'anno di esercizio in una casella txtAnno (criterio fisso), del codice fiscale riportato in una casella txtCF (che può essere valorizzata o nulla: ho digitato "
  • Re: Mi mostra la Query solo se gli gira

    Sei consapevole che se scrivi una Query con quei Criteri così fatti, il fatto di usare un Server SQL importante come MySQL è reso vano...?
    P.S. non proseguo in quanto hai fatto CROSSPOST ed io sono molto allergico.
  • Re: Mi mostra la Query solo se gli gira

    ***
  • Re: Mi mostra la Query solo se gli gira

    ***
  • Re: Mi mostra la Query solo se gli gira

    ****
  • Re: Mi mostra la Query solo se gli gira

    Chiudo il thread e asterisco gli ultimi post che di sicuro non hanno carattere tecnico
Devi accedere o registrarti per scrivere nel forum
13 risposte