Subject:access to multiples databases from stylus JDBC connexion Author:alain collet Date:06 Feb 2008 11:17 AM
I would like to connect from a Xquery (and not a java prog) on STYLUS
connexion XML file 1
<JDBCConnection name="Intranet">
<description>connection to Intranet</description>
<url>jdbc:mysql://localhost:3306:intranet?</url>
<user>root</user>
<password>passe</password>
</JDBCConnection>
connexion XML file 2
<JDBCConnection name="SPMT">
<description>connection to SPMT</description>
<url>jdbc:mysql://localhost:3306:SourcingProjectManagement?</url>
<user>root</user>
<password>passe</password>
</JDBCConnection>
main prog in XQUERY
<contacts>
{
let $contactsI := collection("Intranet.keymro_contacts")/keymro_contacts,
$contactsS := collection("SourcingProjectManagement.users2")/users2
for $contactI in $contactsI
let $NI := data($contactI/lastname),
$NS := $contactsS/*[UserName/text()=$NI],
$NS_ := if(string-length($NS) > 0) then $NS else "_"
order by $NI
return
<contactsIetS>
{$contactI/lastname}
<S>
{$NS_}
</S>
</contactsIetS>
}
</contacts>
I find problems on the resolution but i use specificaly xml datasources to specify the 2 differents data sources
I have try without success to use the map tool but ...
Subject:access to multiples databases from stylus JDBC connexion Author:Alain Collet Date:07 Feb 2008 04:24 AM
yes I have naturaly done that at the first step
in all cases i found the "XQURIResolver:resolvecollection ... not found in any JDBC collection"
There is some tables with the same names in the 2 data bases
It is why I am looking for solutions as DataDirect propose as ... using connexion xml files with more information to specify the JDBC connexion
see my doc attached to see the environnement and the error
Tks
alain
Subject:access to multiples databases from stylus JDBC connexion Author:alain collet Date:08 Feb 2008 04:33 AM
more information on the issue ON STUDIO
______________________________
here the information from datadirect to satisfy the multiples databases pbs
DDXQJDBCConnection jc1 = new DDXQJDBCConnection();
jc1.setUrl("jdbc:xquery:sqlserver://server1:1433;databaseName=financial");
jc1.setName("stocks1");
DDXQJDBCConnection jc2 = new DDXQJDBCConnection();
jc2.setUrl("jdbc:xquery:oracle://server2:1521;SID=ORCL");
jc2.setName("stocks2");
DDXQDataSource ds = new DDXQDataSource();
ds.setDdxqJdbcConnection(new DDXQJDBCConnection[] {jc1, jc2});
XQConnection conn = ds.getConnection("myuserid", "mypswd");
Here's an example showing the same connection information configured in a DataDirect XQuery source configuration file:
...
<JDBCConnection name="stocks1">
<description>connection to stocks1 data</description>
<url>jdbc:xquery:sqlserver://localhost:1433;DatabaseName=financial</url>
<user>myuserid</user>
<password>mypswd</password>
...
<JDBCConnection name="stocks2">
<description>connection to stocks2 data</description>
<url>jdbc:xquery:oracle://localhost:1521;SID=ORCL</url>
<user>myuserid</user>
<password>mypswd</password>
...
To target the holdings table on server1, qualify the table name with the JDBC connection name stocks1 in addition to the catalog name and schema name:
collection('stocks1:joseph.holdings')
________________________________
Are studio and the datadirect approach related ?
I don't find how to make links between connexion file and studio environnement
Thks for help
alain collet
Subject:access to multiples databases from stylus JDBC connexion Author:Ivan Pedruzzi Date:08 Feb 2008 09:56 AM
Hi Alain,
Could you please contact us at stylus-field-report@progress.com?
Which Stylus Studio build are you running
(Help -> About -> Framework version)
In the firs example we saw two MySQL databases on the same server, in the second example Oracle and SQL Server.
Which database vendor you are trying to access in the same query?
The configuration file is an obsolete approach, Stylus Studio uses the XQJ API in order to configure the database connections.