How to connect to an Oracle Database
There can be two primary reasons for you to make a connection to an Oracle database with GenRocket:
- Reason 1: To retrieve data from the database while generating data using GenRocket runtime using generators like ListQueryGen, QueryBeforeLoop, etc.
- Reason 2: To populate tables in the database using receivers like GenericSQLInsertReceiver, SQLUpdateReceiver, etc.
To use these Generators and Receivers, GenRocket leverages JDBC.
In This Article
- What is JDBC?
- Connection Steps
- Step 1: Create a JDBC Configuration Properties File
- Step 2: Enter a valid value for the resource.jdbc.config Organization Resource in GenRocket
- Step 3: Update your Profile in the .genrocket Folder
- Step 4: Download and place the JDBC connector Jar file in the $GENROCKET_HOME/lib/ folder
- Step 4: Reference the JDBC Resource in your Generators or Receivers
What is JDBC?
JDBC stands for Java™ database connectivity (JDBC) and is the JavaSoft specification of a standard application programming interface (API) that allows Java programs to access database management systems. GenRocket can connect to any database that supports JDBC.
Step 1: Create a JDBC Configuration Properties File
For GenRocket to connect to an Oracle database via JDBC, you will need to create a config.properties file. Any application can connect to an Oracle database via JDBC by reading a JDBC properties file that contains the following information:
- driver - Defines the name of the specific database driver to use to access the given database. The actual driver file must be placed in the $GEN_ROCKET_HOME/lib folder on your local computer. For Oracle, the value should be oracle.jdbc.driver.OracleDriver.
- user - Defines the Username used to access the database.
- password - Defines the password used to access the database.
- url - Defines the specific URL to access the database.
- batchCount - Defines the number of SQL statements that are batched together and sent to the database for execution. This property is only mandatory for GenRocket Receivers.
driver=<JDBCDriverClassName> user=<userToConnectToDatabase> password=<passwordToConnectToDatabase> url=jdbc:oracle:thin:@<url>:<port>:<databaseName> batchCount=1000
Example config.properties for Oracle database
GenRocket will read this config file and connect to an employee database on localhost using username root and password root. If you are connecting to a different type of database, your configuration file will look different.
driver=oracle.jdbc.driver.OracleDriver user=root password=root url=jdbc:oracle:thin:@localhost:1521:employee batchCount=1000
To connect using TNS configuration, use the following connection string in the url property:
Step 2: Enter a valid value for the resource.jdbc.config Organization Resource in GenRocket
The resource.jdbc.config Organization Resource specifies the location of the JDBC config.property file on the logged in user's local machine. For more information about Organization Resources, click here.
This resource value should contain the full directory path (e.g., /home/user/dev)
Linux/Mac OSX Example
Step 3: Update your Profile in the .genrocket Folder
Each user has their own Profile that is stored in the .genrocket folder on their local machine. You will need to download and replace your profile (in ~/.genrocket folder) any time the following changes are made:
- Resource value(s) are updated
- A new resource is added
- A resource is removed
GenRocket will read this resource value from your profile on your system to make a connection with the database.
To see the complete steps for each Operating System, please see the article below:
- OSX/Linux: How do I download and set up my profile.grp?
- Windows: How do I download and set up my profile.grp?
Step 4: Download and place the JDBC connector Jar file in the $GENROCKET_HOME/lib/ folder
- Download and place an Oracle Connector in your genrocket/lib folder
- You can download the JDBC connector for Oracle at this link (the JAR file for this is ojdbc6.jar).
Step 4: Reference the JDBC Resource in your Generators or Receivers
When you create a Scenario containing a Generator or Receiver that references your jdbc.config resource, it will connect directly to your database.
java.lang.NoClassDefFoundError: oracle/xdb/XMLType Error
If you face an exception that says: java.lang.NoClassDefFoundError: oracle/xdb/XMLType, then please download xdb6.jar from this link and place the Jar inside of $GEN_ROCKET_HOME/lib folder. Or you can download the xdb6.jar we attached to this article if you are using Oracle Database 11g Release 2 (220.127.116.11) version.
If you are still not able to connect to your Oracle database via JDBC, please get in touch with email@example.com.