2 Replies Latest reply on Oct 23, 2013 6:35 PM by ichanjasper

    Question with connection factory

    ichanjasper

      I am having issue to combine two JDBC data sources using 8.6 Embedded version.

      Can I use javax.sql.DataSource in TeiidEmbeddedServer.SimpleConnectionFactoryProvider?

       

      embeddedServer.addConnectionFactoryProvider(connectionName, new TeiidEmbeddedServer.SimpleConnectionFactoryProvider<javax.sql.DataSource>(dataSource));

       

      But I got error in:

       

      org.teiid.translator.TranslatorException: TEIID31097 Metadata load requires a connection factory

              at org.teiid.query.metadata.NativeMetadataRepository.loadMetadata(NativeMetadataRepository.java:43)

              at org.teiid.query.metadata.ChainingMetadataRepository.loadMetadata(ChainingMetadataRepository.java:55)

              at org.teiid.runtime.EmbeddedServer.loadMetadata(EmbeddedServer.java:644)

              at org.teiid.runtime.AbstractVDBDeployer.loadMetadata(AbstractVDBDeployer.java:161)

              at org.teiid.runtime.EmbeddedServer.deployVDB(EmbeddedServer.java:605)

              at org.teiid.runtime.EmbeddedServer.deployVDB(EmbeddedServer.java:536)

       

       

      Do you guys have any clue?

       

      Thanks a lot,

       

      Ivan C.

        • 1. Re: Question with connection factory
          shawkins

          > Can I use javax.sql.DataSource in TeiidEmbeddedServer.SimpleConnectionFactoryProvider?

           

          Yes, that is what the JDBC translator expects to see.

           

          You can also use the method EmbeddedServer.addConnectionFactory which will do the wrapping for you.

           

          > org.teiid.translator.TranslatorException: TEIID31097 Metadata load requires a connection factory

           

          Does the connection name on the source match the name of the connection factory provider?  Can you show the relevant vdb configuration?

           

          Steve

          • 2. Re: Question with connection factory
            ichanjasper

            Actually, it worked after I switched to use EmbeddedServer.addConnectionFactory.  Thanks for the suggestion.