This blog will showcase how we can set connections with Amazon Redshift Database using MuleSoft Database Connector.
Configuration:
1. We need to add Redshift jdbc Shared Library configuration, Dependency and Repository in POM.
<"text-amber-300">class="text-sky-400 font-semibold">configuration>
<"text-amber-300">class="text-sky-400 font-semibold">classifier>mule-application</"text-amber-300">class="text-sky-400 font-semibold">classifier>
<"text-amber-300">class="text-sky-400 font-semibold">sharedLibraries>
<"text-amber-300">class="text-sky-400 font-semibold">sharedLibrary>
<"text-amber-300">class="text-sky-400 font-semibold">groupId>com.amazon.redshift</"text-amber-300">class="text-sky-400 font-semibold">groupId>
<"text-amber-300">class="text-sky-400 font-semibold">artifactId>redshift-jdbc42</"text-amber-300">class="text-sky-400 font-semibold">artifactId>
</"text-amber-300">class="text-sky-400 font-semibold">sharedLibrary>
</"text-amber-300">class="text-sky-400 font-semibold">sharedLibraries>
</"text-amber-300">class="text-sky-400 font-semibold">configuration><"text-amber-300">class="text-sky-400 font-semibold">dependency>
<"text-amber-300">class="text-sky-400 font-semibold">groupId>com.amazon.redshift</"text-amber-300">class="text-sky-400 font-semibold">groupId>
<"text-amber-300">class="text-sky-400 font-semibold">artifactId>redshift-jdbc42</"text-amber-300">class="text-sky-400 font-semibold">artifactId>
<"text-amber-300">class="text-sky-400 font-semibold">version>2.0.0.2</"text-amber-300">class="text-sky-400 font-semibold">version>
</"text-amber-300">class="text-sky-400 font-semibold">dependency><"text-amber-300">class="text-sky-400 font-semibold">repository>
<"text-amber-300">class="text-sky-400 font-semibold">id>redshift</"text-amber-300">class="text-sky-400 font-semibold">id>
<"text-amber-300">class="text-sky-400 font-semibold">url>http://redshift-maven-repository.s3-website-us-east-1.amazonaws.com/release</"text-amber-300">class="text-sky-400 font-semibold">url>
</"text-amber-300">class="text-sky-400 font-semibold">repository>Generic Connection Setup
2. Now move to the flow and drag a database connector as per the operation needed. In global-element, let's do the configuration for the database.
3. Below are the required Configs:
As we have already added the Shared Library configuration, Dependency, and Repository in POM we can find the driver class as mentioned and the JDBC Driver jar is not required.

Connection Testing & Verification
4. Once the configurations are done we can test the connection.

5. As the connection is successful we can perform our required operations.
POM.xml Listing
<?xml "text-amber-300">version="1.0" "text-amber-300">encoding="UTF-8"?>
<"text-amber-300">class="text-sky-400 font-semibold">project "text-amber-300">xmlns="http://maven.apache.org/POM/4.0.0"
"text-amber-300">xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
"text-amber-300">xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<"text-amber-300">class="text-sky-400 font-semibold">modelVersion>4.0.0</"text-amber-300">class="text-sky-400 font-semibold">modelVersion>
<"text-amber-300">class="text-sky-400 font-semibold">groupId>com.mycompany</"text-amber-300">class="text-sky-400 font-semibold">groupId>
<"text-amber-300">class="text-sky-400 font-semibold">artifactId>redshift-db</"text-amber-300">class="text-sky-400 font-semibold">artifactId>
<"text-amber-300">class="text-sky-400 font-semibold">version>1.0.0-SNAPSHOT</"text-amber-300">class="text-sky-400 font-semibold">version>
<"text-amber-300">class="text-sky-400 font-semibold">packaging>mule-application</"text-amber-300">class="text-sky-400 font-semibold">packaging>
<"text-amber-300">class="text-sky-400 font-semibold">name>redshift-db</"text-amber-300">class="text-sky-400 font-semibold">name>
<"text-amber-300">class="text-sky-400 font-semibold">properties>
<"text-amber-300">class="text-sky-400 font-semibold">project.build.sourceEncoding>UTF-8</"text-amber-300">class="text-sky-400 font-semibold">project.build.sourceEncoding>
<"text-amber-300">class="text-sky-400 font-semibold">project.reporting.outputEncoding>UTF-8</"text-amber-300">class="text-sky-400 font-semibold">project.reporting.outputEncoding>
<"text-amber-300">class="text-sky-400 font-semibold">app.runtime>4.4.0</"text-amber-300">class="text-sky-400 font-semibold">app.runtime>
<"text-amber-300">class="text-sky-400 font-semibold">mule.maven.plugin.version>3.8.0</"text-amber-300">class="text-sky-400 font-semibold">mule.maven.plugin.version>
</"text-amber-300">class="text-sky-400 font-semibold">properties>
<"text-amber-300">class="text-sky-400 font-semibold">build>
<"text-amber-300">class="text-sky-400 font-semibold">plugins>
<"text-amber-300">class="text-sky-400 font-semibold">plugin>
<"text-amber-300">class="text-sky-400 font-semibold">groupId>org.apache.maven.plugins</"text-amber-300">class="text-sky-400 font-semibold">groupId>
<"text-amber-300">class="text-sky-400 font-semibold">artifactId>maven-clean-plugin</"text-amber-300">class="text-sky-400 font-semibold">artifactId>
<"text-amber-300">class="text-sky-400 font-semibold">version>3.2.0</"text-amber-300">class="text-sky-400 font-semibold">version>
</"text-amber-300">class="text-sky-400 font-semibold">plugin>
<"text-amber-300">class="text-sky-400 font-semibold">plugin>
<"text-amber-300">class="text-sky-400 font-semibold">groupId>org.mule.tools.maven</"text-amber-300">class="text-sky-400 font-semibold">groupId>
<"text-amber-300">class="text-sky-400 font-semibold">artifactId>mule-maven-plugin</"text-amber-300">class="text-sky-400 font-semibold">artifactId>
<"text-amber-300">class="text-sky-400 font-semibold">version>${mule.maven.plugin.version}</"text-amber-300">class="text-sky-400 font-semibold">version>
<"text-amber-300">class="text-sky-400 font-semibold">extensions>true</"text-amber-300">class="text-sky-400 font-semibold">extensions>
<"text-amber-300">class="text-sky-400 font-semibold">configuration>
<"text-amber-300">class="text-sky-400 font-semibold">classifier>mule-application</"text-amber-300">class="text-sky-400 font-semibold">classifier>
<"text-amber-300">class="text-sky-400 font-semibold">sharedLibraries>
<"text-amber-300">class="text-sky-400 font-semibold">sharedLibrary>
<"text-amber-300">class="text-sky-400 font-semibold">groupId>com.amazon.redshift</"text-amber-300">class="text-sky-400 font-semibold">groupId>
<"text-amber-300">class="text-sky-400 font-semibold">artifactId>redshift-jdbc42</"text-amber-300">class="text-sky-400 font-semibold">artifactId>
</"text-amber-300">class="text-sky-400 font-semibold">sharedLibrary>
</"text-amber-300">class="text-sky-400 font-semibold">sharedLibraries>
</"text-amber-300">class="text-sky-400 font-semibold">configuration>
</"text-amber-300">class="text-sky-400 font-semibold">plugin>
</"text-amber-300">class="text-sky-400 font-semibold">plugins>
</"text-amber-300">class="text-sky-400 font-semibold">build>
<"text-amber-300">class="text-sky-400 font-semibold">dependencies>
<"text-amber-300">class="text-sky-400 font-semibold">dependency>
<"text-amber-300">class="text-sky-400 font-semibold">groupId>org.mule.connectors</"text-amber-300">class="text-sky-400 font-semibold">groupId>
<"text-amber-300">class="text-sky-400 font-semibold">artifactId>mule-http-connector</"text-amber-300">class="text-sky-400 font-semibold">artifactId>
<"text-amber-300">class="text-sky-400 font-semibold">version>1.7.1</"text-amber-300">class="text-sky-400 font-semibold">version>
<"text-amber-300">class="text-sky-400 font-semibold">classifier>mule-plugin</"text-amber-300">class="text-sky-400 font-semibold">classifier>
</"text-amber-300">class="text-sky-400 font-semibold">dependency>
<"text-amber-300">class="text-sky-400 font-semibold">dependency>
<"text-amber-300">class="text-sky-400 font-semibold">groupId>com.amazon.redshift</"text-amber-300">class="text-sky-400 font-semibold">groupId>
<"text-amber-300">class="text-sky-400 font-semibold">artifactId>redshift-jdbc42</"text-amber-300">class="text-sky-400 font-semibold">artifactId>
<"text-amber-300">class="text-sky-400 font-semibold">version>2.0.0.2</"text-amber-300">class="text-sky-400 font-semibold">version>
</"text-amber-300">class="text-sky-400 font-semibold">dependency>
<"text-amber-300">class="text-sky-400 font-semibold">dependency>
<"text-amber-300">class="text-sky-400 font-semibold">groupId>org.mule.connectors</"text-amber-300">class="text-sky-400 font-semibold">groupId>
<"text-amber-300">class="text-sky-400 font-semibold">artifactId>mule-db-connector</"text-amber-300">class="text-sky-400 font-semibold">artifactId>
<"text-amber-300">class="text-sky-400 font-semibold">version>1.13.6</"text-amber-300">class="text-sky-400 font-semibold">version>
<"text-amber-300">class="text-sky-400 font-semibold">classifier>mule-plugin</"text-amber-300">class="text-sky-400 font-semibold">classifier>
</"text-amber-300">class="text-sky-400 font-semibold">dependency>
</"text-amber-300">class="text-sky-400 font-semibold">dependencies>
<"text-amber-300">class="text-sky-400 font-semibold">repositories>
<"text-amber-300">class="text-sky-400 font-semibold">repository>
<"text-amber-300">class="text-sky-400 font-semibold">id>anypoint-exchange-v3</"text-amber-300">class="text-sky-400 font-semibold">id>
<"text-amber-300">class="text-sky-400 font-semibold">name>Anypoint Exchange</"text-amber-300">class="text-sky-400 font-semibold">name>
<"text-amber-300">class="text-sky-400 font-semibold">url>https://maven.anypoint.mulesoft.com/api/v3/maven</"text-amber-300">class="text-sky-400 font-semibold">url>
<"text-amber-300">class="text-sky-400 font-semibold">layout>default</"text-amber-300">class="text-sky-400 font-semibold">layout>
</"text-amber-300">class="text-sky-400 font-semibold">repository>
<"text-amber-300">class="text-sky-400 font-semibold">repository>
<"text-amber-300">class="text-sky-400 font-semibold">id>mulesoft-releases</"text-amber-300">class="text-sky-400 font-semibold">id>
<"text-amber-300">class="text-sky-400 font-semibold">name>MuleSoft Releases Repository</"text-amber-300">class="text-sky-400 font-semibold">name>
<"text-amber-300">class="text-sky-400 font-semibold">url>https://repository.mulesoft.org/releases/</"text-amber-300">class="text-sky-400 font-semibold">url>
<"text-amber-300">class="text-sky-400 font-semibold">layout>default</"text-amber-300">class="text-sky-400 font-semibold">layout>
</"text-amber-300">class="text-sky-400 font-semibold">repository>
<"text-amber-300">class="text-sky-400 font-semibold">repository>
<"text-amber-300">class="text-sky-400 font-semibold">id>redshift</"text-amber-300">class="text-sky-400 font-semibold">id>
<"text-amber-300">class="text-sky-400 font-semibold">url>http://redshift-maven-repository.s3-website-us-east-1.amazonaws.com/release</"text-amber-300">class="text-sky-400 font-semibold">url>
</"text-amber-300">class="text-sky-400 font-semibold">repository>
</"text-amber-300">class="text-sky-400 font-semibold">repositories>
<"text-amber-300">class="text-sky-400 font-semibold">pluginRepositories>
<"text-amber-300">class="text-sky-400 font-semibold">pluginRepository>
<"text-amber-300">class="text-sky-400 font-semibold">id>mulesoft-releases</"text-amber-300">class="text-sky-400 font-semibold">id>
<"text-amber-300">class="text-sky-400 font-semibold">name>MuleSoft Releases Repository</"text-amber-300">class="text-sky-400 font-semibold">name>
<"text-amber-300">class="text-sky-400 font-semibold">layout>default</"text-amber-300">class="text-sky-400 font-semibold">layout>
<"text-amber-300">class="text-sky-400 font-semibold">url>https://repository.mulesoft.org/releases/</"text-amber-300">class="text-sky-400 font-semibold">url>
<"text-amber-300">class="text-sky-400 font-semibold">snapshots>
<"text-amber-300">class="text-sky-400 font-semibold">enabled>false</"text-amber-300">class="text-sky-400 font-semibold">enabled>
</"text-amber-300">class="text-sky-400 font-semibold">snapshots>
</"text-amber-300">class="text-sky-400 font-semibold">pluginRepository>
</"text-amber-300">class="text-sky-400 font-semibold">pluginRepositories>
</"text-amber-300">class="text-sky-400 font-semibold">project>References:
“Thank you for taking out time to read the above post. Hope you found it useful. In case of any questions, feel free to comment below. Also, if you are keen on knowing about a specific topic, happy to explore your recommendations as well.”

Abhishek Bathwal
Integration and API Specialist at DigitalBuzz Software, focusing on MuleSoft Database Connector, AWS cloud integrations, Redshift data warehouses, and enterprise connectivity.
Related Articles
All ArticlesPassing at least one mandatory Query Params out of many defined in RAML
Learn how to handle mandatory query parameters in RAML when an API defines multiple query parameters.
Bulk-insert using Database connector
Learn how to implement bulk insert operations using the Mule 4 Database Connector.

