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.
SAP Knowledge Base Article - Preview