Ready to get started?

Download a free trial of the SFTP Data Provider to get started:

 Download Now

Learn more:

SFTP Icon SFTP ADO.NET Provider

An easy-to-use database-like interface for .NET applications access to remote files and directories.

DataBind SFTP Data to the DevExpress Data Grid



Use the CData ADO.NET Provider for SFTP with the DevExpress Windows Forms and Web controls to provide SFTP data to a chart.

The ADO.NET Provider for SFTP by CData incorporates conventional ADO.NET data access components compatible with third-party controls. You can adhere to the standard ADO.NET data binding procedures to establish two-way access to real-time data through UI controls. This article will demonstrate the utilization of CData components for data binding with DevExpress UI Controls (Windows Forms and Web controls), specifically binding to a chart that visualizes live data.

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.

Windows Forms Controls

The code below shows how to populate a DevExpress chart with SFTP data. The SFTPDataAdapter binds to the Series property of the chart control. The Diagram property of the control defines the x- and y-axes as the column names.

using (SFTPConnection connection = new SFTPConnection( "RemoteHost=MyFTPServer;")) { SFTPDataAdapter dataAdapter = new SFTPDataAdapter( "SELECT Filesize, Filename FROM MyDirectory WHERE FilePath = /documents/doc.txt", connection); DataTable table = new DataTable(); dataAdapter.Fill(table); DevExpress.XtraCharts.Series series = new DevExpress.XtraCharts.Series(); chartControl1.Series.Add(series); series.DataSource = table; series.ValueDataMembers.AddRange(new string[] { "Filename" }); series.ArgumentScaleType = DevExpress.XtraCharts.ScaleType.Qualitative; series.ArgumentDataMember = "Filesize"; series.ValueScaleType = DevExpress.XtraCharts.ScaleType.Numerical; chartControl1.Legend.Visibility = DevExpress.Utils.DefaultBoolean.False; ((DevExpress.XtraCharts.SideBySideBarSeriesView)series.View).ColorEach = true; }

Web Controls

The code below shows how to populate a DevExpress Web control with SFTP data. The SFTPDataAdapter binds to the Series property of the chart; the Diagram property defines the x- and y-axes as the column names.

using DevExpress.XtraCharts; using (SFTPConnection connection = new SFTPConnection( "RemoteHost=MyFTPServer;")) { SFTPDataAdapter SFTPDataAdapter1 = new SFTPDataAdapter("SELECT Filesize, Filename FROM MyDirectory WHERE FilePath = /documents/doc.txt", connection); DataTable table = new DataTable(); SFTPDataAdapter1.Fill(table); DevExpress.XtraCharts.Series series = new Series("Series1", ViewType.Bar); WebChartControl1.Series.Add(series); series.DataSource = table; series.ValueDataMembers.AddRange(new string[] { "Filename" }); series.ArgumentScaleType = ScaleType.Qualitative; series.ArgumentDataMember = "Filesize"; series.ValueScaleType = ScaleType.Numerical; ((DevExpress.XtraCharts.SideBySideBarSeriesView)series.View).ColorEach = true; }