Do you have any idea about this?
org.basex.core.BaseXException: Database could not be dropped. at org.basex.core.Proc.execute(Proc.java:75)
when it does: new DropDB("DBCabecera").execute(CONTEXT);
My program is doing a lot of actions to get some information and sometimes this error appears, do you know why? How can i solve it?
Another question, what would happen if I create a lot of news DB with the same name and i don't drop them?
Thank you very much!
Dear Bea,
org.basex.core.BaseXException: Database could not be dropped. at org.basex.core.Proc.execute(Proc.java:75)
It seems as if your database is still opened; feel free to send us a runnable example of your code/xml files whic reproduced the issue.
Another question, what would happen if I create a lot of news DB with the same name and i don't drop them?
Your old database will be closed and dropped before the new database is created.
Hope this helps, Christian
Thanks Christian, It is something weird, it sometimes works and sometimes doesn't, i don't understand....
This is my query:
String extraeActors = "//interactiondata/preamble/users/user_def/@id";
Then i use it in my code:
try { Vector vactors = MyQuery.queryExtraeDatosCabecera(extraeActors); } catch (QueryException ex) { Logger.getLogger(Actor.class.getName()).log(Level.SEVERE, null, ex); } catch (IOException ex) { Logger.getLogger(Actor.class.getName()).log(Level.SEVERE, null, ex); } catch (BaseXException ex) { Logger.getLogger(Actor.class.getName()).log(Level.SEVERE, null, ex); }
I have written a method to extract data in a Vector:
static public Vector queryExtraeDatosCabecera(final String query) throws BaseXException, QueryException, IOException { WorkSpace sp1 = new WorkSpace(); String workspace = sp1.getWorkspace(); new CreateDB(workspace + "\cabecera.xml", "DBCabecera").execute(CONTEXT); System.out.println("\n* Close and reopen database: " + workspace + "\cabecera.xml"); new Close().execute(CONTEXT); new Open("DBCabecera").execute(CONTEXT); final QueryProcessor processor = new QueryProcessor(query, CONTEXT); final Iter iter = processor.iter(); final Result result = processor.query(); Item item; Vector datos = new Vector(); int i = 0; datos.setSize(result.size()); while ((item = iter.next()) != null) { String aux = item.toString(); System.out.println(aux + "\n"); int begin = aux.indexOf("""); int end = aux.indexOf(""", begin + 1); String actor = aux.substring(begin + 1, end); datos.setElementAt(actor, i); i++; } processor.close(); new Optimize().execute(CONTEXT); new DropIndex("text").execute(CONTEXT); new DropIndex("attribute").execute(CONTEXT); new DropIndex("fulltext").execute(CONTEXT); new DropIndex("path").execute(CONTEXT); new Close().execute(CONTEXT); new DropDB("DBCabecera").execute(CONTEXT); return datos; }
And this is the XML located in my workspace:
<?xml version='1.0' encoding='UTF-8'?> <interactiondata> <preamble> <roles> <role_def id="Profesor"> <description>unknown</description> </role_def> <role_def id="Alumno"> <description>unknown</description> </role_def> <role_def id="Externo"> <description>unknown</description> </role_def> </roles> <users> <user_def id="laox00" firstname="unknown"> <properties> <property value="x00" name="rep"/> </properties> </user_def> <user_def role="Alumno" id="laox01" firstname="unknown"> <properties> <property value="x01" name="rep"/> <property value="09/10/2001" name="start"/> </properties> </user_def> <user_def role="Alumno" id="laox02" firstname="unknown"> <properties> <property value="x02" name="rep"/> <property value="09/10/2001" name="start"/> </properties> </user_def> <user_def role="Alumno" id="laox03_extended_0" firstname="unknown"> <properties> <property value="x03" name="rep"/> <property value="09/10/2001" name="start"/> </properties> </user_def> <user_def role="Coordinador" id="laox03_extended_1" firstname="unknown"> <properties> <property value="x03" name="rep"/> <property value="10/11/2001" name="start"/> </properties> </user_def> <user_def id="laox04" firstname="unknown"> <properties> <property value="x04" name="rep"/> </properties> </user_def> <user_def id="laox05" firstname="unknown"> <properties> <property value="x05" name="rep"/> </properties> </user_def> <user_def id="laox06" firstname="unknown"> <properties> <property value="x06" name="rep"/> </properties> </user_def> <user_def id="laox07" firstname="unknown"> <properties> <property value="x07" name="rep"/> </properties> </user_def> <user_def id="laox08" firstname="unknown"> <properties> <property value="x08" name="rep"/> </properties> </user_def> <user_def id="laox09" firstname="unknown"> <properties> <property value="x09" name="rep"/> </properties> </user_def> <user_def id="laox10" firstname="unknown"> <properties> <property value="x10" name="rep"/> </properties> </user_def> <user_def id="laox11" firstname="unknown"> <properties> <property value="x11" name="rep"/> </properties> </user_def> <user_def id="laox12" firstname="unknown"> <properties> <property value="x12" name="rep"/> </properties> </user_def> <user_def id="laox13" firstname="unknown"> <properties> <property value="x13" name="rep"/> </properties> </user_def> <user_def id="laox14" firstname="unknown"> <properties> <property value="x14" name="rep"/> </properties> </user_def> <user_def id="laox15" firstname="unknown"> <properties> <property value="x15" name="rep"/> </properties> </user_def> <user_def id="laox16" firstname="unknown"> <properties> <property value="x16" name="rep"/> </properties> </user_def> <user_def id="laox17" firstname="unknown"> <properties> <property value="x17" name="rep"/> </properties> </user_def> <user_def id="laox18" firstname="unknown"> <properties> <property value="x18" name="rep"/> </properties> </user_def> <user_def id="laox19" firstname="unknown"> <properties> <property value="x19" name="rep"/> </properties> </user_def> <user_def id="laox20" firstname="unknown"> <properties> <property value="x20" name="rep"/> </properties> </user_def> <user_def id="laox21" firstname="unknown"> <properties> <property value="x21" name="rep"/> </properties> </user_def> <user_def id="laox22" firstname="unknown"> <properties> <property value="x22" name="rep"/> </properties> </user_def> <user_def id="laox23" firstname="unknown"> <properties> <property value="x23" name="rep"/> </properties> </user_def> <user_def id="laox24" firstname="unknown"> <properties> <property value="x24" name="rep"/> </properties> </user_def> <user_def id="laox25" firstname="unknown"> <properties> <property value="x25" name="rep"/> </properties> </user_def> <user_def id="laox26" firstname="unknown"> <properties> <property value="x26" name="rep"/> </properties> </user_def> <user_def id="laox27" firstname="unknown"> <properties> <property value="x27" name="rep"/> </properties> </user_def> <user_def id="laox28" firstname="unknown"> <properties> <property value="x28" name="rep"/> </properties> </user_def> <user_def id="laox29" firstname="unknown"> <properties> <property value="x29" name="rep"/> </properties> </user_def> <user_def id="laox30" firstname="unknown"> <properties> <property value="x30" name="rep"/> </properties> </user_def> <user_def id="laox31" firstname="unknown"> <properties> <property value="x31" name="rep"/> </properties> </user_def> <user_def id="laox32" firstname="unknown"> <properties> <property value="x32" name="rep"/> </properties> </user_def> <user_def id="laox33" firstname="unknown"> <properties> <property value="x33" name="rep"/> </properties> </user_def> <user_def id="laox34" firstname="unknown"> <properties> <property value="x34" name="rep"/> </properties> </user_def> <user_def id="laox35" firstname="unknown"> <properties> <property value="x35" name="rep"/> </properties> </user_def> <user_def id="laox36" firstname="unknown"> <properties> <property value="x36" name="rep"/> </properties> </user_def> <user_def id="laox37" firstname="unknown"> <properties> <property value="x37" name="rep"/> </properties> </user_def> <user_def id="laox38" firstname="unknown"> <properties> <property value="x38" name="rep"/> </properties> </user_def> <user_def id="laox39" firstname="unknown"> <properties> <property value="x39" name="rep"/> </properties> </user_def> <user_def id="laox40" firstname="unknown"> <properties> <property value="x40" name="rep"/> </properties> </user_def> <user_def id="laox41" firstname="unknown"> <properties> <property value="x41" name="rep"/> </properties> </user_def> <user_def id="laox42" firstname="unknown"> <properties> <property value="x42" name="rep"/> </properties> </user_def> <user_def id="laox43" firstname="unknown"> <properties> <property value="x43" name="rep"/> </properties> </user_def> <user_def id="laox44" firstname="unknown"> <properties> <property value="x44" name="rep"/> </properties> </user_def> <user_def id="laox45" firstname="unknown"> <properties> <property value="x45" name="rep"/> </properties> </user_def> <user_def id="laox46" firstname="unknown"> <properties> <property value="x46" name="rep"/> </properties> </user_def> <user_def id="laox47" firstname="unknown"> <properties> <property value="x47" name="rep"/> </properties> </user_def> <user_def id="laox48" firstname="unknown"> <properties> <property value="x48" name="rep"/> </properties> </user_def> <user_def id="laox49" firstname="unknown"> <properties> <property value="x49" name="rep"/> </properties> </user_def> <user_def id="laox50" firstname="unknown"> <properties> <property value="x50" name="rep"/> </properties> </user_def> <user_def id="laox51" firstname="unknown"> <properties> <property value="x51" name="rep"/> </properties> </user_def> <user_def id="laox52" firstname="unknown"> <properties> <property value="x52" name="rep"/> </properties> </user_def> <user_def id="laox53" firstname="unknown"> <properties> <property value="x53" name="rep"/> </properties> </user_def> <user_def id="laox54" firstname="unknown"> <properties> <property value="x54" name="rep"/> </properties> </user_def> <user_def id="laox55" firstname="unknown"> <properties> <property value="x55" name="rep"/> </properties> </user_def> <user_def id="laox56" firstname="unknown"> <properties> <property value="x56" name="rep"/> </properties> </user_def> <user_def id="laox57" firstname="unknown"> <properties> <property value="x57" name="rep"/> </properties> </user_def> <user_def id="laox58" firstname="unknown"> <properties> <property value="x58" name="rep"/> </properties> </user_def> <user_def id="laox59" firstname="unknown"> <properties> <property value="x59" name="rep"/> </properties> </user_def> <user_def id="laox61" firstname="unknown"> <properties> <property value="x61" name="rep"/> </properties> </user_def> <user_def id="laox62" firstname="unknown"> <properties> <property value="x62" name="rep"/> </properties> </user_def> <user_def id="laox63" firstname="unknown"> <properties> <property value="x63" name="rep"/> </properties> </user_def> <user_def id="laox65" firstname="unknown"> <properties> <property value="x64" name="rep"/> </properties> </user_def> </users> <groups> <group_def id="TurnoA"> <time_range to="09/10/2001" from="09/10/2001"/> <members> <member_def id="laox00"/> <member_def id="laox01"/> <member_def id="laox02"/> <member_def id="laox04"/> <member_def id="laox05"/> <member_def id="laox06"/> <member_def id="laox07"/> <member_def id="laox08"/> <member_def id="laox09"/> <member_def id="laox10"/> <member_def id="laox11"/> <member_def id="laox12"/> <member_def id="laox13"/> <member_def id="laox14"/> <member_def id="laox15"/> <member_def id="laox16"/> <member_def id="laox17"/> <member_def id="laox18"/> <member_def id="laox19"/> </members> </group_def> <group_def id="TurnoB"> <time_range to="09/10/2001" from="09/10/2001"/> <members> <member_def id="laox21"/> <member_def id="laox22"/> <member_def id="laox23"/> <member_def id="laox24"/> <member_def id="laox25"/> <member_def id="laox26"/> <member_def id="laox27"/> <member_def id="laox28"/> <member_def id="laox29"/> <member_def id="laox30"/> <member_def id="laox31"/> <member_def id="laox32"/> <member_def id="laox33"/> <member_def id="laox34"/> <member_def id="laox35"/> <member_def id="laox36"/> <member_def id="laox37"/> <member_def id="laox38"/> <member_def id="laox39"/> </members> </group_def> <group_def id="TurnoC"> <time_range to="09/10/2001" from="09/10/2001"/> <members> <member_def id="laox41"/> <member_def id="laox42"/> <member_def id="laox43"/> <member_def id="laox44"/> <member_def id="laox45"/> <member_def id="laox46"/> <member_def id="laox47"/> <member_def id="laox48"/> <member_def id="laox49"/> <member_def id="laox50"/> <member_def id="laox51"/> <member_def id="laox52"/> <member_def id="laox53"/> <member_def id="laox54"/> <member_def id="laox55"/> <member_def id="laox56"/> <member_def id="laox57"/> <member_def id="laox58"/> <member_def id="laox59"/> </members> </group_def> <group_def id="TurnoD"> <time_range to="09/10/2001" from="09/10/2001"/> <members> <member_def id="laox61"/> <member_def id="laox62"/> <member_def id="laox63"/> <member_def id="laox65"/> </members> </group_def> <group_def id="Bolsa"> <time_range to="09/10/2001" from="09/10/2001"/> <members> <member_def id="laox04"/> <member_def id="laox05"/> <member_def id="laox10"/> <member_def id="laox12"/> <member_def id="laox21"/> <member_def id="laox32"/> <member_def id="laox33"/> <member_def id="laox37"/> <member_def id="laox43"/> <member_def id="laox51"/> <member_def id="laox52"/> <member_def id="laox53"/> </members> </group_def> <group_def id="Imagen"> <time_range to="09/10/2001" from="09/10/2001"/> <members> <member_def id="laox09"/> <member_def id="laox11"/> <member_def id="laox13"/> <member_def id="laox24"/> <member_def id="laox27"/> <member_def id="laox28"/> <member_def id="laox29"/> <member_def id="laox41"/> <member_def id="laox56"/> <member_def id="laox61"/> </members> </group_def> <group_def id="Ensen"> <time_range to="09/10/2001" from="09/10/2001"/> <members> <member_def id="laox26"/> <member_def id="laox30"/> <member_def id="laox31"/> <member_def id="laox34"/> <member_def id="laox48"/> <member_def id="laox49"/> </members> </group_def> <group_def id="Biblio"> <time_range to="09/10/2001" from="09/10/2001"/> <members> <member_def id="laox01"/> <member_def id="laox02"/> <member_def id="laox25"/> <member_def id="laox35"/> <member_def id="laox36"/> <member_def id="laox42"/> <member_def id="laox46"/> <member_def id="laox54"/> <member_def id="laox57"/> <member_def id="laox62"/> </members> </group_def> <group_def id="Movil"> <time_range to="09/10/2001" from="09/10/2001"/> <members> <member_def id="laox06"/> <member_def id="laox07"/> <member_def id="laox22"/> <member_def id="laox23"/> <member_def id="laox38"/> <member_def id="laox39"/> <member_def id="laox44"/> <member_def id="laox45"/> <member_def id="laox58"/> <member_def id="laox63"/> <member_def id="laox65"/> </members> </group_def> <group_def id="Turnos"> <time_range to="09/10/2001" from="09/10/2001"/> <members> <member_def id="TurnoA"/> <member_def id="TurnoB"/> <member_def id="TurnoC"/> <member_def id="TurnoD"/> </members> </group_def> <group_def id="Clientes"> <time_range to="09/10/2001" from="09/10/2001"/> <members> <member_def id="Bolsa"/> <member_def id="Imagen"/> <member_def id="Ensen"/> <member_def id="Biblio"/> <member_def id="Movil"/> </members> </group_def> </groups> <objects/> </preamble> </interactiondata>
2010/5/30 Christian Grün christian.gruen@gmail.com
Dear Bea,
org.basex.core.BaseXException: Database could not be dropped. at org.basex.core.Proc.execute(Proc.java:75)
It seems as if your database is still opened; feel free to send us a runnable example of your code/xml files whic reproduced the issue.
Another question, what would happen if I create a lot of news DB with the
same name and i don't drop them?
Your old database will be closed and dropped before the new database is created.
Hope this helps, Christian
Hello Beatriz,
Am 30.05.2010 16:32, schrieb Beatriz Sancho:
static public Vector queryExtraeDatosCabecera(final String query) throws BaseXException, QueryException, IOException { WorkSpace sp1 = new WorkSpace(); String workspace = sp1.getWorkspace(); new CreateDB(workspace + "\cabecera.xml", "DBCabecera").execute(CONTEXT); [...] new DropDB("DBCabecera").execute(CONTEXT); return datos; }
wouldn't it be much easier to use an in-memory DB in this case? No need to explicitly drop it and you probably would even get better performance because of reduced I/O.
Just my 0.02$...
Cheers, Leo Wörteler
Hi again,
Just in case you're interested: A simple way to create a main-memory based DB in BaseX, given the path to an XML document, would be
final Data db = CreateDB.xml(IO.get(path), CTX.prop); CTX.openDB(db); // open DB in current Context
By the way, this also works if you feed IO.get(..) an XML string instead of a path.
Cheers again, Leo
Am 30.05.2010 17:10, schrieb Leonard Wörteler:
Hello Beatriz,
Am 30.05.2010 16:32, schrieb Beatriz Sancho:
static public Vector queryExtraeDatosCabecera(final String query) throws BaseXException, QueryException, IOException { WorkSpace sp1 = new WorkSpace(); String workspace = sp1.getWorkspace(); new CreateDB(workspace + "\cabecera.xml", "DBCabecera").execute(CONTEXT); [...] new DropDB("DBCabecera").execute(CONTEXT); return datos; }
wouldn't it be much easier to use an in-memory DB in this case? No need to explicitly drop it and you probably would even get better performance because of reduced I/O.
Just my 0.02$...
basex-talk@mailman.uni-konstanz.de