String tiedosto="C:\\cb\\table.DBF";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
conn=DriverManager.getConnection("jdbc:odbc:dBASE-tiedostot");
stm=conn.createStatement();
stm.executeUpdate("delete from " tiedosto);
stm.executeUpdate("INSERT INTO " tiedosto "(NAME) VALUES ('MATTI')");
Ohessa olevan koodin toiminta hämmästyttää.
Vaikka koodi poistaa koko taulukon sisällön, koko levyllä
ei pienene. Jokaisen kutsun jälkeen taulukon koko kasvaa..
vaikka taulukossa pitäisi olla vain yksi rivi tietoa.
Kutsuttaessa monta kertaa kyseistä metodia taulukon koko on useita MB?
miksi? jos katson tiedostoa hexsana, vanhat tiedot eivät katoa minnekään, vaikka kyselyssä tulee vain yksi rivi tietoa.
Onko tämä joku ODBC ongelma?
ODBC miksi tietokannan koko ei pienene delete käskyllä.
Öööö...
2
475
Vastaukset
- dfgdfgdfgdfg
Rivit vain merkataan poistetuiksi. Tietokanta ei toimisi kovin tehokkaasti jos se pyrkisi pitämään itsensä kokoajan kompaktissa muodossa.
En tunne tuota dbasea mutta luulisi löytyvän jotain keinoja kutistaa kantaa ja laittaa tämä tapahtumaan automaattisesti vaikka kerran viikossa hiljaiseen aikaan jos se häiritsee. - hemmanderi
Esim, sqlite tukee komentoa nimeltä vacuum... joka poistaa turhat taulut jne... luultavasti käyttämäsi tietokanta tukee jotain vastaavaa.
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
- 1017453
Siekkilässä ajettu ihmisten yli- mitä tapahtui? Länsi-Savo ei ole uutisoinut asiata
Manneja, vaiko matuja?835082- 794879
- 1324278
Alavuden sairaala
Säästääkö Alavuden sairaala sähkössä. Kävin Sunnuntaina vast. otolla. Odotushuone ja käytävä jolla lääkäri otti vastaan103068- 522709
- 402616
- 532257
Törkeää toimintaa
Todella törkeitä kaheleita niitä on Ylivieskassakin. https://www.ess.fi/uutissuomalainen/8570818102231Suudeltiin unessa viime yönä
Oltiin jossain rannalla jonkun avolava auton lavalla, jossa oli patja ja peitto. Uni päättyi, kun kömmit viereeni tähtit211850