SAP Knowledge Base Article - Preview

2471622 - Invalid ODBC Cursor Statement / SQLGetData is not allowed on a forward only (non-buffered) cursor - ECDA


  • Invalid ODBC Cursor Statement
    Sybase EnterpriseConnect Data Access (ECDA)
       %SYBASE%\OCS-15_0\bin>isql -S<ase_server> -U<userid> -P<pwd> -w2048 -D<ase_dbname>
       1> select * from <proxy_table_mapped_to_mssql_table>
       2> go
       quickpass disabled, reason: text/image column
       SELECT dt_logged, TEXTPTR(messagetext), messageDirection, vcmsDestMnem, clientDestMnem, vcmsOrigMnem, clientOrigMnem, vcmsRoutingkey, clientRoutingkey, taf, oif, dbIdentifier, dbmessageType, messageType, credentialMnemonic, credentialIp, credentialApplica
       tion, credentialPassword, credentialUser, messageidUnit, messageidId, messageidNamespace, id FROM <mssql_dbname>.<schema>.<mssql_table>
       Msg 30291, Level 19, State 0:
       Server '<ecda_server>', Line 1:
       Invalid ODBC Cursor Statement C91: []
       Command has been aborted.
       (0 rows affected)
  • Message Iteration=1|SQLState=SL008|Native Error=0|Message=[unixODBC][Driver Manager]SQLGetData is not allowed on a forward only (non-buffered) cursor
       EasySoft ODBC driver to Microsoft SQL Server (MSSQL) on HP UX reported error below with ECDA service configured with SQLOdbcCursors=odbc
          type %SYBASE%\DC-15_0\servers\<ecda_server>\log\<ecda_servername>.log
          . . .
          TraceEntryExit 05/01/2017 09:37:06.022692 <ecda_service> 12 sa OmniServer [smdcamsg.cpp(142)] TRACE_ENTRY_EXIT >odbcBaseResult::getData
          TraceInterface 05/01/2017 09:37:06.022783 <ecda_service> 12 sa OmniServer [smdcamsg.cpp(146)] Trace API Level ENTER odbcBaseResult():SQLGetData [760a10 | column number=3 | SQL C type=1 | length=2049]
          TraceInterface 05/01/2017 09:37:06.022879 <ecda_service> 12 sa OmniServer [smdcamsg.cpp(146)] Trace API Level EXIT odbcBaseResult():SQLGetData [SQLGetData bytes length=0] with return code -1
          TraceEntryExit 05/01/2017 09:37:06.022967 <ecda_service> 12 sa OmniServer [smdcamsg.cpp(142)] TRACE_ENTRY_EXIT <odbcBaseResult::getData
          TraceEvents 05/01/2017 09:37:06.023083 <ecda_service> 12 sa OmniServer [smdcamsg.cpp(486)] 05/01/117 09:37:06.023034 dcclets 23 NULL NULL processDataStream, getData status=-1
          TraceEvents 05/01/2017 09:37:06.023207 <ecda_service> 12 sa OmniServer [smdcamsg.cpp(486)] 05/01/117 09:37:06.023159 dcclets 23 NULL NULL ERROR:Retrieving ODBC lob column failed.
          TraceEvents 05/01/2017 09:37:06.023585 <ecda_service> 12 sa OmniServer [smdcamsg.cpp(583)] 05/01/117 09:37:06.023527 dcclets 23 NULL NULL [
          [Message Iteration=1|SQLState=SL008|Native Error=0|Message=[unixODBC][Driver Manager]SQLGetData is not allowed on a forward only (non-buffered) cursor]
          TraceEvents 05/01/2017 09:37:06.023835 <ecda_service> 12 sa OmniServer [smdcamsg.cpp(486)] 05/01/117 09:37:06.023785 dcclets 23 NULL NULL processDataStream,final SQLGetData status=-1
          . . .



  • SAP Adaptive Server Enterprise (ASE) with proxy table
  • Sybase EnterpriseConnect Data Access (ECDA) to Microsoft SQL Server (MSSQL)


Sybase EnterpriseConnect Data Access all versions


ECDA odbc ASE proxy table proxy_table create existing table text Microsoft SQL Server Msg 30291 Level 19 State 0: Server Line 1: Invalid ODBC Cursor Statement  [] Command has been aborted , KBA , BC-SYB-ECD , Enterprise Connect (ECDA) , Problem

About this page

This is a preview of a SAP Knowledge Base Article. Click more to access the full version on SAP ONE Support launchpad (Login required).

Search for additional results

Visit SAP Support Portal's SAP Notes and KBA Search.