Connect to SFTP Data from a Connection Pool in JBoss

Ready to get started?

Download for a free trial:

Download Now

Learn more:

SFTP JDBC Driver

An easy-to-use database-like interface for Java based applications and reporting tools access to remote files and directories.



Integrate SFTP data into Java servlets: Use the Management Console in JBoss to install the SFTP JDBC Driver.

CData JDBC drivers can be configured in JBoss by following the standard procedure for connection pooling. This article details how to access SFTP data from a connection pool in JBoss applications. This article details how to use the JBoss Management Interface to configure the CData JDBC Driver for SFTP. You will then access SFTP data from a connection pool.

Create a JDBC Data Source for SFTP from the Management Console

Follow the steps below to add the driver JAR and define required connection properties.

  1. In the Runtime menu, select the Domain or Server menu, depending on whether you are deploying to a managed domain or to a stand-alone server, and click "Manage deployments" to open the Deployments page.
  2. Click Add. In the resulting wizard, add the JAR file and license for the driver, located in the lib subfolder of the installation directory. Finish the wizard with the defaults, select the driver, and click Enable.
  3. In the Configuration menu, click Subsystems -> Connector -> Datasources. This opens the JDBC Datasources page.
  4. Click Add and, in the resulting wizard, enter a name for the driver and the JNDI name. For example: java:jboss/root/jdbc/SFTP
  5. Select the driver that you added above.
  6. Enter the JDBC URL and the username and password. The syntax of the JDBC URL is jdbc:sftp: followed by a semicolon-separated list of connection properties.

    SFTP can be used to transfer files to and from SFTP servers using the SFTP Protocol. To connect, specify the RemoteHost;. service uses the User and Password and public key authentication (SSHClientCert). Choose an SSHAuthMode and specify connection values based on your selection.

    Set the following connection properties to control the relational view of the file system:

    • RemotePath: Set this to the current working directory.
    • TableDepth: Set this to control the depth of subfolders to report as views.
    • FileRetrievalDepth: Set this to retrieve files recursively and list them in the Root table.
    Stored Procedures are available to download files, upload files, and send protocol commands. See gdatamodel for more on using SQL to interact with the server.

    Built-in Connection String Designer

    For assistance in constructing the JDBC URL, use the connection string designer built into the SFTP JDBC Driver. Either double-click the JAR file or execute the jar file from the command-line.

    java -jar cdata.jdbc.sftp.jar

    Fill in the connection properties and copy the connection string to the clipboard.

    A typical connection string is below:

    jdbc:sftp:RemoteHost=MyFTPServer;
  7. Test the connection and finish the wizard. Select the SFTP data source and click Enable.

More JBoss Integration

The steps above show how to configure the driver in a simple connection pooling scenario. For more information, refer to the Data Source Management chapter in the JBoss EAP documentation.