nkeroulis Δημοσ. 6 Σεπτεμβρίου 2010 Δημοσ. 6 Σεπτεμβρίου 2010 Θέλω το πρόγραμμα μου να είναι σε συνεχή συνδεση με μια MySQL Βάση δεδομένων. Βλέπω όμως οτι οταν κάνω την σύνδεση αν δεν στείλω κάτι για 1sec κλείνει απο μόνη της. Μπορείτε να μου εξηγείσετε πως θα την κρατήσω ανοικτή?
johnny21a Δημοσ. 6 Σεπτεμβρίου 2010 Δημοσ. 6 Σεπτεμβρίου 2010 Καταρχην ποιος ο λογος που θες να την αφησεις ανοιχτη ? Ειναι λαθος να εχεις μια συνδεση συνεχεια ανοιχτη για πολλους λογους. Η σωστη πρακτικη ειναι να ανοιγει η συνδεση, να κανεις οτι transaction θελεις και να κλεινει οσο πιο γρηγορα γινεται. Δωσε περισσοτερες λεπτομερειες ομως...
nkeroulis Δημοσ. 6 Σεπτεμβρίου 2010 Μέλος Δημοσ. 6 Σεπτεμβρίου 2010 CONNECT DO -> CHECK CONNECTION -->DOWNLOAD DATA FROM MYSQL --->PROCESSING ---->UPLOAD DATA TO MYSQL LOOP Γιατι θέλω να τελειώνει την μια επανάληξη όσο ποιο γρήγορα γίνεται. Για να κλήσει και να ξανανοίξει μια σύνδεση θέλει τουλάχιστον 300ms που μου είναι πολύτιμα. ---------- Προσθήκη στις 00:32 ---------- Προηγούμενο μήνυμα στις 00:25 ---------- Φαντάσου οτι πρέπει να ανοιγοκλείνω την σύνδεση 2 φορές σε κάθε loop. Απο Test συμπέρανα οτι: θέλει +1000ms χρησιμοποιώντας αυτην την τακτική.
johnny21a Δημοσ. 6 Σεπτεμβρίου 2010 Δημοσ. 6 Σεπτεμβρίου 2010 Δεν μας λες καθολου λεπτομερειες ομως, τι γλωσσα χρησιμοποιεις π.χ και γενικα πλατφορμα και τι θελεις να κανεις...
Επισκέπτης Δημοσ. 6 Σεπτεμβρίου 2010 Δημοσ. 6 Σεπτεμβρίου 2010 google mysql persistent connection αν θες η σύνδεση να είναι πάντα ανοικτή..
nkeroulis Δημοσ. 6 Σεπτεμβρίου 2010 Μέλος Δημοσ. 6 Σεπτεμβρίου 2010 Τελικά απο οτι κατάλαβα έχετε δικιο και δεν είναι προγραμματιστικά σωστό να την ανοίγω μια φορά. Αλλά κοιτάκτε τι συμβάινει: Είναι ένα τεράστιο Loop. (ΕΙΣΟΔΟΣ) Πρώτα ανοίγει μια σύνδεση διαβάζει τα columns Input κ Output απο έναν πίνακα και την κλείνει. (ΕΠΕΞΕΡΓΑΣΙΑ) Βλέπει κάποια πράγματα απο το Input κ Output. (ΕΞΟΔΟΣ) Ανοίγει πάλι την σύνδεση κ αναλόγως γεμίζει το Output κ αδιάζει το Input. Δεν περιμένω να μου δώσετε απάντηση γιατι τελικά το πρόβλημα είναι στην αρχιτεκτονική του software.
nkeroulis Δημοσ. 6 Σεπτεμβρίου 2010 Μέλος Δημοσ. 6 Σεπτεμβρίου 2010 Τελικά απο οτι κατάλαβα έχετε δικιο και δεν είναι προγραμματιστικά σωστό να την ανοίγω μια φορά. Αλλά κοιτάκτε τι συμβάινει: Είναι ένα τεράστιο Loop. (ΕΙΣΟΔΟΣ) Πρώτα ανοίγει μια σύνδεση διαβάζει τα columns Input κ Output απο έναν πίνακα και την κλείνει. (ΕΠΕΞΕΡΓΑΣΙΑ) Βλέπει κάποια πράγματα απο το Input κ Output. (ΕΞΟΔΟΣ) Ανοίγει πάλι την σύνδεση κ αναλόγως γεμίζει το Output κ αδιάζει το Input. Δεν περιμένω να μου δώσετε απάντηση γιατι τελικά το πρόβλημα είναι στην αρχιτεκτονική του software.
attsifte Δημοσ. 6 Σεπτεμβρίου 2010 Δημοσ. 6 Σεπτεμβρίου 2010 Γιατί δεν δοκιμάζεις μια λογική όπως παρακάτω; > Open Connection Open Transaction ...Do your work... Close transaction Close Connection
attsifte Δημοσ. 6 Σεπτεμβρίου 2010 Δημοσ. 6 Σεπτεμβρίου 2010 Γιατί δεν δοκιμάζεις μια λογική όπως παρακάτω; > Open Connection Open Transaction ...Do your work... Close transaction Close Connection
nkeroulis Δημοσ. 6 Σεπτεμβρίου 2010 Μέλος Δημοσ. 6 Σεπτεμβρίου 2010 Γιατί δεν δοκιμάζεις μια λογική όπως παρακάτω; > Open Connection Open Transaction ...Do your work... Close transaction Close Connection Τι είναι το "Transaction" ?
nkeroulis Δημοσ. 6 Σεπτεμβρίου 2010 Μέλος Δημοσ. 6 Σεπτεμβρίου 2010 Γιατί δεν δοκιμάζεις μια λογική όπως παρακάτω; > Open Connection Open Transaction ...Do your work... Close transaction Close Connection Τι είναι το "Transaction" ?
taazz Δημοσ. 6 Σεπτεμβρίου 2010 Δημοσ. 6 Σεπτεμβρίου 2010 Φαντάσου το σαν ομάδα εντολών. Λές Έναρξη ομάδας εντολών. εντολή 1 εντολή 2 ..... εντολή Ν εκτέλεση εντολών Σε περίπτωση που μια από αυτές τις εντολές αποτύχει να εκτελεστεί τοτέ καμιά δεν εκτελείτε. Χρησιμοποιήται κυρίος στο να προστατευσεις κέριες λειτουργίες από λάθη στα δεδομένα ή στις εντολές. ΠΧ. εναρξη ομαδας αλλαγή κωδικού Μαθητή σε 4 εισαγωγή μαθητή 4 στην βιολογια εισαγωγή μαθητή 4 στο τεστ βιολογίας. εκτέλεση εντολών. Σε περίπτωση που αποτύχη να αλαχθεί ο κωδικός του μαθητή τοτέ οι εισαγωγές που ακολουθούν είτε θα εισάγουν λάθος μαθητή ή ανύπαρκτο. Σε αυτή την περίπτωση αποτύγχανουν και οι εισαγωγές
taazz Δημοσ. 6 Σεπτεμβρίου 2010 Δημοσ. 6 Σεπτεμβρίου 2010 Φαντάσου το σαν ομάδα εντολών. Λές Έναρξη ομάδας εντολών. εντολή 1 εντολή 2 ..... εντολή Ν εκτέλεση εντολών Σε περίπτωση που μια από αυτές τις εντολές αποτύχει να εκτελεστεί τοτέ καμιά δεν εκτελείτε. Χρησιμοποιήται κυρίος στο να προστατευσεις κέριες λειτουργίες από λάθη στα δεδομένα ή στις εντολές. ΠΧ. εναρξη ομαδας αλλαγή κωδικού Μαθητή σε 4 εισαγωγή μαθητή 4 στην βιολογια εισαγωγή μαθητή 4 στο τεστ βιολογίας. εκτέλεση εντολών. Σε περίπτωση που αποτύχη να αλαχθεί ο κωδικός του μαθητή τοτέ οι εισαγωγές που ακολουθούν είτε θα εισάγουν λάθος μαθητή ή ανύπαρκτο. Σε αυτή την περίπτωση αποτύγχανουν και οι εισαγωγές
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.