I have written a bulk API C# code to extract activity data on a monthly basis. The documentation says there is a default set of Columns I can extract. If I look at the table columns via the DSN connection i see a Column named StepId. Can I extract this column using bulk api. Is there a different REST API name for it?
You don't choose individual columns when you do an Activity extract, just the Activity Types.
When you include Send Email as one of the Activity Types, the Step ID can be found in the attributes column, which contains a seralized JSON object; Step ID is one of the top-level properties of the object. This is quite clear when you do an export.
Also your DSN isn't a real OLEDB/ODBC connection (I don't know what plugin you're using to get this DSN, as you haven't said). It's talking to the Describe Activities endpoint, when you can easily query over REST as well.
There's no such thing as "REST ODBC".
ODBC is an abstraction layer for database queries (not just SQL but metadata queries, like lists of columns).
All this driver is doing is calling the REST Describe Activities endpoint and trying to present the response as a list of columns that's compatible with the ODBC standard.
It has no direct access whatsoever to the database.
CData tries hard, but they don't really understand (nor regularly use) Marketo and none of their products understand the API semantics correctly.