dotConnect for Salesforce Marketing Cloud Documentation
Devart.Data.ExactTarget Namespace / ExactTargetConnection Class
Members Example

ExactTargetConnection Class
Represents an open connection to ExactTarget.
Syntax
'Declaration
 
Public NotInheritable Class ExactTargetConnection 
   Inherits Devart.Data.SqlShimConnection
   Implements System.ComponentModel.IComponentSystem.Data.IDbConnectionSystem.ICloneableSystem.IDisposable 
 
Remarks

A ExactTargetConnection object represents a unique connection to ExactTarget. Use it in conjunction with ExactTargetCommand, ExactTargetDataReader, ExactTargetDataAdapter or other components for convenient interoperation with ExactTarget.

When you create an instance of ExactTargetConnection, all properties are set to their initial values. For a list of these values, see ConnectionString.

If the ExactTargetConnection goes out of scope, it is not closed. Therefore, you must explicitly close the connection by calling Devart.Common.DbConnectionBase.Close.

Note that ExactTargetConnection instance is not guaranteed to be thread safe. You should avoid using the same ExactTargetConnection in several threads at the same time. It is recommended to open a new connection per thread and to close it when the work is done. Actually, connections will not be created/disposed every time with the Pooling=true; connection string option - connections will be stored at connection pool. This boosts performance greatly.

A single ExactTargetConnection can be used by many ExactTargetCommand objects on the assumption that all operations will be done consecutively. In other words, you can not execute a SQL statement while an asynchronous operation is in progress.

Example
The following example creates a ExactTargetCommand and a ExactTargetConnection. The ExactTargetConnection is opened and set as the Connection property. The example then calls ExecuteNonQuery method, and closes the connection. To accomplish this, the ExecuteNonQuery is passed a connection string and a query string that is SQL INSERT statement.
public void InsertRow(string exactTargetConnectionString)
{
  // If the connection string is empty, use default.
  if(exactTargetConnectionString == "")
  {
    exactTargetConnectionString = 
        "user=MyCompanyAdmin;password=mypassword;url=https://webservice.s7.exacttarget.com/Service.asmx;";
  }
  ExactTargetConnection myConn = new ExactTargetConnection(exactTargetConnectionString);
  string myInsertQuery = "INSERT INTO Email (Name, Subject) VALUES ('Sale', 'Big Sale!')";
  ExactTargetCommand exactTargetCommand = new ExactTargetCommand(myInsertQuery);
  exactTargetCommand.Connection = myConn;
  myConn.Open();
  try
  {
    exactTargetCommand.ExecuteNonQuery();
  }
  finally
  {
    myConn.Close();
  }
}
Public Sub InsertRow(exactTargetConnectionString As String)
  ' If the connection string is empty, use default.
  If exactTargetConnectionString = "" Then
    exactTargetConnectionString = _
        "user=MyCompanyAdmin;password=mypassword;url=https://webservice.s7.exacttarget.com/Service.asmx;"
  End If
  Dim myConn As New ExactTargetConnection(exactTargetConnectionString)
  Dim myInsertQuery As String = "INSERT INTO Email (Name, Subject) VALUES ('Sale', 'Big Sale!')"
  Dim exactTargetCommand As New ExactTargetCommand(myInsertQuery)
  exactTargetCommand.Connection = myConn
  myConn.Open()
  Try
    exactTargetCommand.ExecuteNonQuery()
  Finally
    myConn.Close()
  End Try
End Sub
Inheritance Hierarchy

System.Object
   System.MarshalByRefObject
      System.ComponentModel.Component
         System.Data.Common.DbConnection
            Devart.Common.DbConnectionBase
               Devart.Data.SqlShimConnection
                  Devart.Data.ExactTarget.ExactTargetConnection

Requirements

Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

See Also