SUPPORT / SAMPLES & SAS NOTES
 

Support

Problem Note 71152: Data-indexing SQL Server relationships fail after updating to the native JDBC driver

DetailsHotfixAboutRate It

Indexing SQL Server relationships fail after updating to the native JDBC driver with an error similar to the following:

Exception during read of Object "PTY__Entity_Fact", partition "ReaderConfig{key='"primary_entity_number"', sortKey='primary_entity_number', min='10790099', max='990000105', lookupId='null'}": com.microsoft.sqlserver.jdbc.SQLServerException: The data has been accessed and is not available for this column or parameter.
at com.microsoft.sqlserver.jdbc.ServerDTVImpl.getValue(dtv.java:3717)
at com.microsoft.sqlserver.jdbc.DTV.getValue(dtv.java:250)
at com.microsoft.sqlserver.jdbc.Column.getValue(Column.java:190)
at com.microsoft.sqlserver.jdbc.SQLServerResultSet.getValue(SQLServerResultSet.java:2105)
at com.microsoft.sqlserver.jdbc.SQLServerResultSet.getValue(SQLServerResultSet.java:2100)
at com.microsoft.sqlserver.jdbc.SQLServerResultSet.getStream(SQLServerResultSet.java:2119)
at com.microsoft.sqlserver.jdbc.SQLServerResultSet.getCharacterStream(SQLServerResultSet.java:2961)
at sun.reflect.GeneratedMethodAccessor546.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.tomcat.jdbc.pool.StatementFacade$ResultSetProxy.invoke(StatementFacade.java:223)
at com.sun.proxy.$Proxy211.getCharacterStream(Unknown Source)
at com.sas.fcs.datahub.services.data.loader.mappers.RowMapperUtil.readValue(RowMapperUtil.java:61)
at com.sas.fcs.datahub.services.data.loader.mappers.RowMapperUtil.readColumnValue(RowMapperUtil.java:49)
at com.sas.fcs.datahub.services.data.loader.jobs.scalable.item.AbstractCursorBasedReader.mapRowFromResultSet(AbstractCursorBasedReader.java:78)
at com.sas.fcs.datahub.services.data.loader.jobs.scalable.item.CursorBasedDocumentLinkReader.lambda$createRowMapper$0(CursorBasedDocumentLinkReader.java:60)
at org.springframework.batch.item.database.JdbcCursorItemReader.readCursor(JdbcCursorItemReader.java:142)
at org.springframework.batch.item.database.AbstractCursorItemReader.doRead(AbstractCursorItemReader.java:505)

The change from the DataDirect SQL Server JDBC driver to the Microsoft Native driver broke the SQL Server relationships. As a result, this issue occurs in cases where join keys are shared with primary keys. Microsoft SQL Server cannot read from the stream twice, whereas the DataDirect driver can.

Click the Hot Fix tab in this note to access the hot fix for this issue.



Operating System and Release Information

Product FamilyProductSystemProduct ReleaseSAS Release
ReportedFixed*ReportedFixed*
SAS SystemSAS Visual Investigator (on SAS Viya 3.x)Linux for x6410.810.8ViyaViya
* For software releases that are not yet generally available, the Fixed Release is the software release in which the problem is planned to be fixed.