Ok folks...
Here's what I have found out. Contrary to what I believed, it seems
the Orion console uses another trick than a DataSource to run SQL
commands on the server: the executeSQL method of the
ApplicationAdministrator
class. I have managed to run commands from my client program using this
snippet :
java.util.Properties p = new java.util.Properties();
p.put("java.naming.factory.initial",
"com.evermind.server.ApplicationClientInitialContextFactory");
p.put("java.naming.provider.url", "ormi://server/application");
p.put("java.naming.security.principal", "admin");
p.put("java.naming.security.credentials", "yoursecret");
ctx = new InitialContext(p);
ApplicationAdministrator appAdmin = (ApplicationAdministrator)
context.lookup("java:comp/Administrator");
RowSet rs = appAdmin.executeSQL("jdbc/pooled/MyDS", "SELECT * FROM
TestTable");
This returns a serializable rowset from the server... That's it. Not
portable,
very disappointing. I really hoped DataSources would work from the
client side.
It seems you can only do it through the appadmin. PLEASE CORRECT ME IF
I'M WRONG :)
On another note, this line retrieves the list of all datasources for an
application
List sources = appAdmin.getDataSources();
this is a List of DataSourceConfig objects, NOT DataSource. DSC contain
info about
the various JNDI locations, username, password etc. all the properties
defined
in data-sources.xml
Hope this turns out helpful to some of you!
Cheers,
Daniel