Torna indietro   Hardware Upgrade Forum > Software > Programmazione

DJI Mic Mini 2: audio 48 kHz / 24-bit e protocollo OsmoAudio sotto i 100 Euro
DJI Mic Mini 2: audio 48 kHz / 24-bit e protocollo OsmoAudio sotto i 100 Euro
DJI presenta Mic Mini 2, un sistema microfonico wireless ultra-compatto progettato per democratizzare l'audio di alta qualità nella fascia entry-level. Con un peso di soli 11 grammi per il trasmettitore elimina i fastidi tipici dei modelli più pesanti sui vestiti. Nonostante la miniaturizzazione Mic Mini 2 offre prestazioni tecniche di rilievo: registrazione omnidirezionale a 48 kHz/24-bit, tre preset vocali (Regular, Bright, Rich) e un sistema di cancellazione attiva del rumore a due livelli.
Recensione Moto G77: display AMOLED e buona autonomia per il midrange economico
Recensione Moto G77: display AMOLED e buona autonomia per il midrange economico
Motorola propone in fascia media il nuovo Moto G77 5G, uno smartphone che punta sul display AMOLED da 1.5K a 120Hz, e sulla fotocamera da 108 MP con stabilizzazione ottica per affrontare la fascia media. Il tutto insieme a una batteria da 5200mAh in soli 7,3 millimetri di spessore, con una scocca certificata con standard militari
DJI Lito 1 e Lito X1 recensione: i nuovi droni per principianti che non si fanno mancare nulla
DJI Lito 1 e Lito X1 recensione: i nuovi droni per principianti che non si fanno mancare nulla
DJI ha appena ufficializzato la serie Lito, la sua nuova gamma di droni entry-level destinata a chi si avvicina per la prima volta alla fotografia aerea. Al centro dell'annuncio ci sono due modelli ben distinti per fascia di prezzo e specifiche tecniche: DJI Lito 1 e DJI Lito X1. Entrambi si collocano sotto la soglia regolamentare dei 249 grammi, che permette di volare con requisiti burocratici più semplici rispetto ai droni più pesanti.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 22-09-2010, 11:43   #1
lorixillo
Member
 
Iscritto dal: Sep 2010
Messaggi: 81
[Java/Jdbc/Access] inserimento lento record

come prima cosa salve a tutti!
ho un problema di inserimento di record in un database access mediante l'utilizzo di driver jdbc.
sto realizzando il trasferimento di vecchie tabelle btrieve di un programma di gestione delle donazioni di sangue per l'AVIS in tabelle access mediante java.
per prima cosa ho trasformato le tabelle btrieve .btr in file di testo .txt mediante un apposito tool.
poi ho creato un programma java che estrapola le informazioni di ogni riga del txt, crea una query di tipo INSERT INTO e inserisce la riga nel DB tramite il sistema
Codice:
ps = con.prepareStatement(creaQuery(dati));
ps.executeUpdate();
fin qui tutto bene, ma poi accade una cosa alquanto strana!
ebbene, mentre una tabella è inserita correttamente e velocemente (stampando a video ogni query di insert ne compaiono a video circa 200 al secondo), l'altra viene inserita altrettanto velocemente per i primi 196-197 records, mentre i rimanenti vengono inseriti con una frequenza di circa 1 al secondo °_°!
ebbene, i record sono tipo 73000, non ho tutto questo tempo da perdere xD

ho controllato il controllabile , in particolare:

- non è colpa dell'istruzione executeQuery() dato che, commentandola, il risultato non cambia;
- non è colpa della simultanea lettura da file, dato che l'altra tabella è inserita correttamente (ed è una tabella con una 15ina di campi!!!);
- non è colpa della tabella access dove vado a inserire i record, dato che è simile in tutto per tutto all'altra! inoltre la rigenero spesso senza ottenere alcun risultato;
- isolando l'istruzione prepareStatement() ho scoperto che è proprio lei (e nessun altro) il problema (ho provato pure con un inserimento fuffa del tipo "INSERT INTO TABELLAFUFFA (A,B) VALUES ('a','b')" e si blocca dopo le solite prime 197 righe...).

ecco ulteriori dettagli sparsi che possono esservi utili nell'aiutarmi:

modello query funzionante:
INSERT INTO DONATORE (IdDonatore, CognomeNome, IdSesso, Indirizzo, CAP, Comune, Provincia, DataNascita, ComuneNascita, TelefonoPrincipale, TelefonoSecondario, CodiceProfessione, Frequenza, IdGruppoSanguigno, IdFattoreRH, Fenotipi, DataRilascio, DataCessazione, IdTipoTessera, IdTipoDonazione, IdTitoloStudio, IdStatoDonatore, IdAvvisoChiamata, IdGiornale) VALUES (0000, 'cogn nom', 0, 'Via Fuffa 1', '12121', 'casa sua', 'CS', '01/01/1753', 'comune', '01010104345', '0349343434', 0, 2, 0, 1, 'ccDeekk', '09/04/1294', null, 1, 0, 3, 0, 1, 1)

modello query capricciosa:
INSERT INTO DONAZIONE (IdDonatore, Numero, Data, IdTipoDonazione, Luogo) VALUES (15, 2, '22/01/1984', 1, 'ospedale')

grazie a coloro che proveranno ad aiutarmi!

Loris
lorixillo è offline   Rispondi citando il messaggio o parte di esso
Old 22-09-2010, 12:44   #2
vladix
Member
 
L'Avatar di vladix
 
Iscritto dal: Jan 2008
Città: roma
Messaggi: 296
penso che ti sei risposto da solo ... usi access come database !!! con tutti i database seri che ci sono in giro tu vai a usare un programma che al massimo puo essere usato per fini didattici ?
__________________
Acer 5940G{Intel Core i7 Q720 Quadri motore; 8Gb DDR3; ATI Radeon HD 4650 1024MB; 500Gb hdd}
vladix è offline   Rispondi citando il messaggio o parte di esso
Old 22-09-2010, 13:04   #3
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
Non che sia un suo fan (in verità non sono fan di alcun database) ma dubito che sia access il problema, se non altro per il fatto che a fronte di un problema del genere Microsoft sarebbe stata sommersa di RFE.

La questione è interessate per la bizzarrìa della sua manifestazione, per me è uno di quei casi in cui o becchi chi ha avuto esattamente lo stesso problema oppure inizi a navigare nel girone del debug.

Proviamo un po' a vedere se un motore di ricerca ci dice qualcosa...

[Update]
Una ricerca con "java jdbc mdb slow insert" da una varietà di risultati. Premessa la mia totale ignoranza di questioni correlate ai database, pare che una causa di rallentamenti simili al tuo sia dovuta all'esecuzione di un "full commit" per ogni "update" e che la soluzione sia nell'eseguire gli aggiornamenti come un blocco unico. Si parla di "batch, "autocommit", end e begin e cose del genere.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me!

Ultima modifica di PGI-Bis : 22-09-2010 alle 13:16.
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 22-09-2010, 14:50   #4
lorixillo
Member
 
Iscritto dal: Sep 2010
Messaggi: 81
@vladix la tua non è una risposta
magari ha prestazioni minori di altri, avrà meno funzioni, ma se deve fare delle operazioni simili mica si inventa di "sbagliarne" una e far giusta l'altra insomma xD
la questione non è che database uso, dato che con una query funziona e con l'altra no...
mi son sempre trovato bene con access (funziona! -.-"), anche se l'ho sempre usato per progetti ristretti (come questo), quindi basta e avanza;
inoltre il problema che si manifesta non è dovuto al fatto che access sia un buon/cattivo programma. c'è proprio qualcosa che imberla il procedimento!
edit: a ripensarci meglio: il problema persiste anche senza effettuare executeUpgrade, quindi access non viene neanche toccato...

@PGI_Bis peccato, ho già trovato risposte simili, ma non giustificano il perchè una query funziona e l'altra no...

grazie ad entrambi per il momento!

edit: sul PC fisso tutto funziona a dovere!!
a cosa diamine è dovuta sta cosa allora?
la curiosità rimane...
può essere il disco quasi pieno? quello del portatile è pieno per poco più di 3/4...
la ram? 1GB sul portatile, 4 sul fisso...
entrambe le cose non sono però giustificate dal fatto che l'altra query (la più complessa) funziona!
mah
spero riusciate a togliermi la curiosità xD
a presto

edit: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
non è possibile poco fa andava con l'altro PC!
ora stessa storia!!!

Ultima modifica di lorixillo : 22-09-2010 alle 16:17.
lorixillo è offline   Rispondi citando il messaggio o parte di esso
Old 22-09-2010, 15:40   #5
vladix
Member
 
L'Avatar di vladix
 
Iscritto dal: Jan 2008
Città: roma
Messaggi: 296
non c'e bisogno di mettere il punto sulla i ... avevo capito che nn era un problema di access stavo solo contestando la tua scelta ( io butterei al secchio perfino sqlserver) ...cmq se non posti un pò di codice difficilmente qualcuno ti saprà aiutare ...
controlla che il pstmt viene chiuso dopo ogni insert ( anche se questo genererebbe un errore e nn rallenmtamento quando il "buffer" delle istruzioni è pieno ) ... oppure ci sono altri tipi di risorse che non rilasci ...
__________________
Acer 5940G{Intel Core i7 Q720 Quadri motore; 8Gb DDR3; ATI Radeon HD 4650 1024MB; 500Gb hdd}
vladix è offline   Rispondi citando il messaggio o parte di esso
Old 22-09-2010, 16:37   #6
lorixillo
Member
 
Iscritto dal: Sep 2010
Messaggi: 81
come mai ritieni access un tale "cesso" ? non mi sembra tutto sommato male... (anche se da uno che ha usato solo lui poco conta xD)

le risorse sono le stesse della query che funziona, è un vero mistero.
comunque ho alcuni aggiornamenti:
sul portatile non va nè con netbeans nè con jcreator;
sul fisso non va con netbeans ma va con jcreator.
a questo punto posso dire di non capirci più un c****!!!

a presto
Loris

edit:
ho ripensato al discorso delle risorse occupate ed ho pensato che ogni funzione, dopo essere eseguita, rilascia tutte le risorse.
ho adottato quindi un subdolo stratagemma per fregarmene di ogni problema:
chiamo, finchè ci sono righe da leggere, una funzione che si connette al database, aggiunge 150 righe, e si killa.
in questo modo quindi farò innumerevoli connessioni e disconnessioni dal database, ma chissenefrega.

grazie per l'imbeccata sulle risorse
a presto con nuovi problemi :S
Loris

Ultima modifica di lorixillo : 22-09-2010 alle 18:42.
lorixillo è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


DJI Mic Mini 2: audio 48 kHz / 24-bit e protocollo OsmoAudio sotto i 100 Euro DJI Mic Mini 2: audio 48 kHz / 24-bit e protocol...
Recensione Moto G77: display AMOLED e buona autonomia per il midrange economico Recensione Moto G77: display AMOLED e buona auto...
DJI Lito 1 e Lito X1 recensione: i nuovi droni per principianti che non si fanno mancare nulla DJI Lito 1 e Lito X1 recensione: i nuovi droni p...
Sony World Photography Awards 2026: i premiati, anche italiani, il punto sulla fotografia di oggi Sony World Photography Awards 2026: i premiati, ...
Una settimana con Hyundai Ioniq 5 N-Line: diverte e convince Una settimana con Hyundai Ioniq 5 N-Line: divert...
Valanga di novità da Fanatec, anche per ...
'DLSS' e 'Fram Gen' anche per il Samsung...
Claude si integra con Blender e Adobe: n...
Agente AI cancella l'intero database di ...
Il ritorno del Commodore 64: il nuovo C6...
Google Gemini entra nei sistemi classifi...
Nuovi MacBook Pro 14,2" con chip M5...
Configuratore Corsair FRAME, il punto di...
I giochi digitali su PS4 e PS5 hanno un ...
Robot umanoidi negli aeroporti: a Tokyo ...
I nuovi processori Intel Wildcat Lake so...
La dashcam 70mai A800SE a 109€ registra ...
The Blood of Dawnwalker: il sistema dei ...
Numeri a tre cifre contro le truffe tele...
Fine di un'era nel gaming PC: Denuvo &eg...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 10:24.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v