I installed eclipse 3.5 at my work place (where we access internet through an authenticated NTML proxy). I was unable to make eclipse pass through this proxy, which prevented me to install updates and additional software.
Anthony Dahanne’s describes the workaround on his blog (in french). The Apache httpclient implementation should be disabled because it doesn’t work well with NTMLv2 proxies.
For NTLMv2 Proxies, that require user name and password for access the workaround is to
- Disable the ECF httpclient provider.
- Provide the NTLMv2 proxy authentication info (proxyhost, domain, username, and password)
In practice, edit your eclipse.ini file to append the following properties.
Original article : http://blog.dahanne.net/2009/07/01/eclipse-galileo-3-5-problemes_proxy/
Eclipse bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=281472#c7
Eclipse wiki which provides the solution: http://wiki.eclipse.org/ECF_Filetransfer_Support_for_NTLMv2_Proxies
This should work with oracle 8 and +
The consistent=yes parameter locks the Objects as read only to ensure data consistency.
Depending on the environment settings the @oracle_sid parameter in the user name may be optional.
exp User_name/user_pass@oracle_sid FULL=y FILE=my_export_file.dmp LOG=my_export_log CONSISTENT=y
exp userid=User_name/user_pass@Oracle_sid FULL=y FILE=my_export_file.dmp LOG=my_export_log CONSISTENT=y
to export schema from a user (owner_name) while logged as an admin (dba_name)
exp userid=dba_name/dba_pass FULL=y FILE=my_export_file.dmp LOG=my_export_log CONSISTENT=y owner=owner_name
For all tables from the SCOTT schema
EXEC dbms_stats.gather_schema_stats(’SCOTT’, cascade=>TRUE);
For the table EMP of SCOTT schema
- Step 1: the generate_drop_all.sql script is used to generate drop statements for all objects that belongs to the current user. Theses statements are generated into drop_all_objects.sql
- Step 2: the drop_all_objects.sql script is used to drop everything prior to import
- Step 3: import…
# Step 1 :Move to the /tmp directory
# Copy the generate_drop_all.sql file here
# Generate the drop script
exit | sqlplus target_user/target_password @generate_drop_all.sql
# -> a new file drop_all.sql is generated
# Step2 : Run the drop script
exit | sqlplus target_user/target_password @drop_all_objects.sql
# Step3 : Import the dump
imp userid=target_user/target_password file= the_dump_file.dump log=the_log_file.log fromuser=origin_user_name touser=target_user_name
Content of the generate_drop_all.sql file
set feedback off
set trimspool on
set echo off
set verify off
set linesize 200
set pagesize 0
select ‘drop ‘ || object_type || ‘ ‘ || object_name || ‘ cascade constraints;’
where object_type in (‘TABLE’);
select ‘drop ‘ || object_type || ‘ ‘ || object_name || ‘;’
where object_type not in (‘TABLE’, ‘INDEX’, ‘PACKAGE BODY’, ‘LOB’);
Import an Oracle dump to oracle XE in 3 steps:
- Create a directory to contain a new tablespace
- Create a dedicated tablespace and user that reflects the name of the ones used to export
- Import the dump into this new tablespace
Create a directory for Data (tablespace)
Create a TAB_CS tablespace
Use exactly this name as it will be requested for import
Connect to XE as System user (use SQL developper for instance)
and run the following script and COMMIT !
CREATE TABLESPACE TAB_CS
AUTOEXTEND ON NEXT 5M;
CREATE USER MyUser
IDENTIFIED BY MyPass
DEFAULT TABLESPACE TAB_CS
TEMPORARY TABLESPACE TEMP
QUOTA UNLIMITED ON TAB_CS;
GRANT CONNECT TO MyUser;
GRANT RESOURCE TO MyUser;
GRANT DBA TO MyUser;
Import the DUMP
Copy the dump file to c:\TheDumpFIle.dump
Open windows command prompt (Start/Run/cmd) and run:
C:\oraclexe\app\oracle\product\10.2.0\server\BIN\imp.exe M260/M260 file=TheDumpFIle.dump full=yes
Import should run without any warning
Verify that everything is OK ussing an Oracle client connect as MyUservia SQL developper and check tables
More than often, we have to deal with users who create multiple accounts on the same service.
The following article provide an nice way to regroup similar accounts using the “Levenshtein Distance” to catch typo in user name fields.
The implementation relies on Perl but the principle is easily adaptable to other languages.
Heroku is a company that offers a very interesting hosting platform for rails applications.
They offer instant deployments, very good git integration and offer on demand processing power.
I have been using their platforms for several month, mainly for prototyping rails applications, I was neither disappointed.
They describe their underlying architecture and a initiate a discussion about the requirements for a effective deployment of web apps.
Following the introduction to Scrum on Gabriel’s blog, here is an article that describe the first implementation of this agile methodology at Seedcamp.
I could never recommend you too much to attend the free conferences organized by SigmaT, an very active association promoting Agile in the Toulouse (France) area.
So, we decided to use Spring framework… here comes hell !
Without a little management, spring configuration files grow quite fast and may soon become hard to maintain.
Craig Walls’s offers us some spring best-pratices in his excellent Spring-cleaning presentation (pdf).
Another good source is the SpringTips blog that offers us 12 best-practices for spring xml configuration.
I have been spending last weeks defining the architecture of a new web application.
The main driver is to rely on a MDA (Model driven architecture) to generate the major part of the application code thanks to Acceleo . We build custom template files that are converted to a fully working application via acceleo generators.
A proof of concept:
The first versions of this project was developped as a Struts 1 webapp on top of hibernate ORM. The choice of Struts was mainly driven by the fact that the team new this framework quite well … and that we had exmples of code available for it. So we ended up developing our struts-specific templates files to generate the views and controllers of the application.
Spring time has come !
It’s now time to “industrialize” this first version. The main constraint is that we keep what has been developed for Struts. But we also need to implement new functionnality (integration with LDAP, data synchronization with other applications, audit logging, exposition of webservices….).I start to feel that Struts (especialy 1.x) is pretty limited and wil force us to develop modules that could be found out of the box in other Frameworks.
From other projects, I retain that Spring is a very modularized framework, that can be used “on demand”, to provide from basic services to full web application framework.
Why Spring ?
- we reuse 99% of our existing truts code. By using the dynamic proxies of Spring, we can rely on AOP to add functionnality to our code (the detailled method (IBM)).
- forces a better modularity of code
- … that strongly encourages (and ease) unit testing.
- allows us to modularize the application itself.
- simplify integration with external systems (mail, LDAP) by providing easy to use templates.
Why not ?
- Spring configuration files might become complex as they grow.. but we generate them.
- and… is that all ?
It was quite hard to find arguments against Spring, so I will list pro-spring resources here (comments welcome !).