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();
> >>> }
> >>>
> >
>

Reply via email to