Build a Simple VCL Application for FTP Data



How to build a simple VCL Application to view FTP data in RAD Studio using the CData ODBC Driver for FTP.

Embarcadero RAD Studio provides a development environment for Delphi and C++Builder applications. With the CData ODBC Driver for FTP, you gain access to live FTP data within RAD Studio, abstracting the data into tables, views, and stored procedures that can be used to retrieve and update FTP data. This article will walk through connecting to FTP and creating a simple VCL application with the Form Designer.

Create a Connection to FTP Data

If you have not already, first specify connection properties in an ODBC DSN (data source name). This is the last step of the driver installation. You can use the Microsoft ODBC Data Source Administrator to create and configure ODBC DSNs.

To connect to FTP or SFTP servers, specify at least RemoteHost and FileProtocol. Specify the port with RemotePort.

Set User and Password to perform Basic authentication. Set SSHAuthMode to use SSH authentication. See the Getting Started section of the data provider help documentation for more information on authenticating via SSH.

Set SSLMode and SSLServerCert to secure connections with SSL.

The data provider lists the tables based on the available folders in your FTP server. 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 folders to list as views.
  • FileRetrievalDepth: Set this to retrieve and list files recursively from the root table.

Stored Procedures are available to download files, upload files, and send protocol commands. See the Data Model chapter of the FTP data provider documentation for more information.

You can then follow the steps below to use the Data Explorer to create a FireDAC connection to FTP data.

  1. In a new VCL Forms application, expand the FireDAC node in the Data Explorer.
  2. Right-click the ODBC Data Source node in the Data Explorer.
  3. Click Add New Connection.
  4. Enter a name for the connection.
  5. In the FireDAC Connection Editor that appears, set the DataSource property to the name of the ODBC DSN for FTP.

Create VCL Applications with Connectivity to FTP Data

Follow the procedure below to start executing queries to FTP data from a simple VCL application that displays the results of a query in a grid.

  1. Drop a TFDConnection component onto the form and set the following properties:

    • ConnectionDefName: Select the FireDAC connection to FTP data.
    • Connected: Select True from the menu and, in the dialog that appears, enter your credentials.
  2. Drop a TFDQuery component onto the form and set the properties below:

    • Connection: Set this property to the TFDConnection component, if this component is not already specified.
    • SQL: Click the button in the SQL property and enter a query. For example:

      SELECT Filesize, Filename FROM MyDirectory
    • Active: Set this property to true.
  3. Drop a TDataSource component onto the form and set the following property:

    • DataSet: In the menu for this property, select the name of the TFDQuery component.
  4. Drop a TDBGrid control onto the form and set the following property:

    • DataSource: Select the name of the TDataSource.
  5. Drop a TFDGUIxWaitCursor onto the form — this is required to avoid a run-time error.

You now have an executable application that displays the results of the SQL Query set in the TFDQuery object.

Related Articles

Below you can find other articles for using the CData ODBC Driver with RAD Studio, Delphi, and C++ Builder.

Ready to get started?

Download a free trial of the FTP ODBC Driver to get started:

 Download Now

Learn more:

FTP Icon FTP ODBC Driver

The FTP ODBC Driver is a powerful tool that allows you to connect with live data from remote files and directories, directly from any applications that support ODBC connectivity.

Access remote data like you would a database through a standard ODBC Driver interface.