Applies To:
  • CitectSCADA 3.00 4.00

Question: What are the advantages and disadvantages of using DDE vs ODBC? 

Each has it's advantages and disadvantages. In general DDE is suitable for simple requirements but ODBC should be given serious thought if the limitations of DDE become too restrictive.


  1. No need to set up A Data Service Name (DSN). A DDEShareName is required for Network DDE however.
  2. Can call Access Macros & Functions.
  3. Can utilise the CPU power of a remote computer, via Network DDE.


  1. Recordsets with Rows that exceed the maximum Cicode string length cannot be read directly.
  2. Rows (records) are returned to string variable with TAB characters between Columns. The user must parse the string in Cicode to obtain the Column (field) values.
  3. SQLs cannot perform Actions (such as INSERT, UPDATE or DELETE).


  1. MS Access does not have to be running. ODBC uses the JET Engine DLL on the same PC. This an advantage in many ways but can consume excessive PC resources if not managed properly.
  2. Large SQL statements can be broken into chunks.
  3. SQLGetField makes easier to get data from fields (Columns). There is no need to parse the data in Cicode.
  4. Can handle large numbers of fields (Columns) in the recordset.
  5. SQLs can perform Actions (such as INSERT, UPDATE or DELETE).
  6. MsgRPC, Reports or Events code triggered by PLC bits can be used to execute ODBC calls on a remote PC running Citect.


  1. Requires that ODBC and a Data Service Name (DSN) be set up.