1 Reply Latest reply on Dec 3, 2010 9:17 AM by nicolasdavyt1234

    one data source with multiple Oracle database users

    pekka_x

      Dear All,

       

      I have 2 application using 2 differents datasources :

       

      <?xml version="1.0" encoding="UTF-8"?>
       
      <datasources>
        <local-tx-datasource>
          <jndi-name>TooWsDataSource</jndi-name>
          <connection-url>jdbc:oracle:thin:@172.25.225.40:1521:paid</connection-url>
          <driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
          <user-name>Too</user-name>
          <password>too</password>
       
          <metadata>
             <type-mapping>Oracle10g</type-mapping>
          </metadata>
        </local-tx-datasource>
        <!-- New schema for EPT/WS  -->
         <local-tx-datasource>
          <jndi-name>TooWsDataSourcePt</jndi-name>
          <connection-url>jdbc:oracle:thin:@172.25.225.40:1521:paid</connection-url>
          <driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
          <user-name>Too2</user-name>
          <password>too</password>
          <metadata>
             <type-mapping>Oracle10g</type-mapping>
          </metadata>
        </local-tx-datasource>
      </datasources>
       
      

       

      But when the second application do an sql request the user used is "Too" instead of "Too2".

      Have you ideas?

        • 1. Re: one data source with multiple Oracle database users
          nicolasdavyt1234

          When you lookup of JNDI change

           

          Connection con = null;
          DataSource ds = null;

          ....

           

          InitialContext iniCtx = new InitialContext();

           

          If you want user Too Uses:

           

          ds = (DataSource) iniCtx.lookup("TooWsDataSource");

          ...

           

          if you want user Too2 Uses:

           

          ds = (DataSource) iniCtx.lookup("TooWsDataSourcePt");

           

          ....

           

          con = ds.getConnection();