The CData JDBC Drivers support standard JDBC interfaces to integrate with Web applications running on the JVM. This article details how to connect to Veeva data from a connection pool in Tomcat.
Connect to Veeva Data through a Connection Pool in Tomcat
- Copy the CData JAR and CData .lic file to $CATALINA_HOME/lib. The CData JAR is located in the lib subfolder of the installation directory.
- Add a definition of the resource to the context. Specify the JDBC URL here.
You are ready to connect after specifying the following connection properties:
- Url: The host you see in the URL after you login to your account. For example: https://my-veeva-domain.veevavault.com
- User: The username you use to login to your account.
- Password: The password you use to login to your account.
Built-in Connection String Designer
For assistance in constructing the JDBC URL, use the connection string designer built into the Veeva JDBC Driver. Either double-click the JAR file or execute the jar file from the command-line.
java -jar cdata.jdbc.veeva.jar
Fill in the connection properties and copy the connection string to the clipboard.
You can see the JDBC URL specified in the resource definition below.
<Resource name="jdbc/veeva" auth="Container" type="javax.sql.DataSource" driverClassName="cdata.jdbc.veeva.VeevaDriver" factory="org.apache.tomcat.jdbc.pool.DataSourceFactory" url="jdbc:veeva:User=myuser;Password=mypassword;Server=localhost;Database=mydatabase;" maxActive="20" maxIdle="10" maxWait="-1" />
To allow a single application to access Veeva data, add the code above to the context.xml in the application's META-INF directory.
For a shared resource configuration, add the code above to the context.xml located in $CATALINA_BASE/conf. A shared resource configuration provides connectivity to Veeva for all applications.
- Add a reference to the resource to the web.xml for the application.
Veeva data JSP
jdbc/Veeva
javax.sql.DataSource
Container
-
Initialize connections from the connection pool:
Context initContext = new InitialContext();
Context envContext = (Context)initContext.lookup("java:/comp/env");
DataSource ds = (DataSource)envContext.lookup("jdbc/Veeva");
Connection conn = ds.getConnection();
More Tomcat Integration
The steps above show how to connect to Veeva data in a simple connection pooling scenario. For more use cases and information, see the JNDI Datasource How-To in the Tomcat documentation.