Agreed. In the usual case when there's only one node, I've sometimes used an iterator, like: dataDomain.getDataNodes().iterator().next().getDataSource().
On Wed, Sep 5, 2012 at 7:33 AM, Michael Gentry <[email protected]>wrote: > I was wondering if we might should go one step further. If there is > only one DataNode, perhaps have the option of leaving the entity or > DataNode name out of those calls? (Can throw an exception if there > are multiple DataNodes registered.) That might be more intuitive for > most (and the typical use-case). > > mrg > > > On Wed, Sep 5, 2012 at 1:43 AM, Andrus Adamchik <[email protected]> > wrote: > > A bit OT, since Bob has found a solution already... Cayenne 3.1 makes it > a bit easier to obtain a DataSource, compared to the earlier versions: > > > > Connection connection = > serverRuntime.getDataSource("DataNode").getConnection(); > > > > Andrus > > > > On Sep 4, 2012, at 2:05 PM, Bryan Lewis wrote: > > > >> In you really need to get a connection, this has worked for me: > >> > >> Connection connection = > >> > dataContext.getParentDataDomain().getNode("DataNode").getDataSource().getConnection() > >> > >> > >> On Mon, Sep 3, 2012 at 8:55 PM, Bob Harner <[email protected]> wrote: > >> > >> > >>> Alternatively, how can I get access to the database connection so I > can run > >>> straight JDBC? > >>> > >>> private void backUpDatabase(Connection conn) throws SQLException > >>> { > >>> String sqlstmt = "CALL SYSCS_UTIL.SYSCS_BACKUP_DATABASE(?)"; > >>> CallableStatement cs = conn.prepareCall(sqlstmt); > >>> cs.setString(1,"D:/dbbackups/"); > >>> cs.execute(); > >>> cs.close(); > >>> } > >>> > > >
