SAP Knowledge Base Article - Preview

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

Symptom

  • 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)
       1>
  • 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
          . . .


Read more...

Environment

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

Product

Sybase EnterpriseConnect Data Access all versions

Keywords

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 for Me (Login required).

Search for additional results

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