Re: Memory managment on EOF

David Teran <[email protected]> Thu, 25 Aug 2005 21:29:15 +0200
Newsgroups gmane.comp.web.webobjects.devel,gmane.comp.web.webobjects.eof
Message-ID <[email protected]>
Hi,

> There is some stuff in Wonder's ERXJDBCUtilities that should be  
> able to copy from one DB to another. I never tried it, but maybe it  
> gives you some hints. There is no real need to use EOs anyway as  
> you just want to copy the data.
>
Hmpf! 'that should be able to copy from one DB to another.' NoNo,  
Anjo, that is not fair ;-)

In fact it works perfectly -if- the JDBC driver is not buggy. Here is  
a quick documentation:

OK, you need to use ERExtensions and ERJars. Not a big deal, drop me  
a line and i'll send a demo app to you.

Then you need this code here, the example takes data from frontbase  
and saves it to a postgres database:

         NSMutableDictionary sourceDict = new NSMutableDictionary();
         sourceDict.setObjectForKey("", "password");
         sourceDict.setObjectForKey("_SYSTEM", "username");
         sourceDict.setObjectForKey("jdbc:FrontBase://195.135.143.205/ 
merces/user=_system", "url");
         sourceDict.setObjectForKey("com.frontbase.jdbc.FBJDriver",  
"driver");
         sourceDict.setObjectForKey(Boolean.FALSE, "autoCommit");
         sourceDict.setObjectForKey(Boolean.TRUE, "readOnly");

         NSMutableDictionary destDict = sourceDict.mutableClone();
         destDict.setObjectForKey("jdbc:postgresql://195.135.143.205/ 
merces", "url");
         destDict.setObjectForKey("dev", "password");
         destDict.setObjectForKey("dev", "username");
         destDict.setObjectForKey("org.postgresql.Driver", "driver");
         destDict.setObjectForKey(Boolean.FALSE, "autoCommit");
         destDict.setObjectForKey(Boolean.FALSE, "readOnly");

         EOModel yourModel  = EOModelGroup.defaultGroup().modelNamed 
("YourEOModelName");
          
ERXJDBCUtilities.copyDatabaseDefinedByEOModelAndConnectionDictionaryToDa 
tabaseWithConnectionDictionary(yourModel,
                 sourceDict, destDict);


Thas all!

regards David

> Am 25.08.2005 um 18:00 schrieb Ricardo Strausz:
>
>
>> Hola a tod@s!
>>
>> I am facing the following problem:
>> I have to move a database from one machine to other ---to be  
>> precise, from Sybase 11.5 on Win NT, to Sybase 12 on OSX.
>> Since the versions are not compatible, it is not possible via  
>> standard backup.
>> After trying some suggestions on the bible (aka PWO), with out  
>> success, I decided to implement an app to do it ---the database is  
>> huge!
>>
>> The basic idea behind the algorithm, is to traverse all entities  
>> in the source-model and, for each one, traverse its data to create  
>> new eos and insert them into the  sink-model.
>>
>> The problem: it is running out of memory!
>>
>> I already gave the JVM 1024Mb but it looks that it will run out of  
>> memory sooner or later, no mater how many memory I assign to it...
>>
>> It cross to my mind that there should be a standard way to free  
>> the used memory, say whenever a new entity is going to be traversed.
>>
>> What is better?
>> 1. re-faulting.
>> 2. using a new editing context for each entity.
>> 3. creating a new store coordinator (for each entity)
>>
>> How to force to run the garbage-collector after releasing an store  
>> coordinator?
>> is it necessary?
>>
>> In five words: how to free system resources?
>>
>> HELP!
>>
>> --
>> Ricardo Strausz
>> [email protected]
>> Business Applied C Objects
>> http://homepage.mac.com/strausz/baco
>> +5255 5437 8205
>>
>>
>>
>> _______________________________________________
>> WebObjects-dev mailing list
>> [email protected]
>> http://www.omnigroup.com/mailman/listinfo/webobjects-dev
>>
>>
>
> _______________________________________________
> WebObjects-dev mailing list
> [email protected]
> http://www.omnigroup.com/mailman/listinfo/webobjects-dev
>