[teiid-issues] [JBoss JIRA] (TEIID-5949) SQLServer DateTimeOffset datatype is read as object(34)

Manoj Majumdar (Jira) issues at jboss.org
Mon Jun 22 05:17:16 EDT 2020


    [ https://issues.redhat.com/browse/TEIID-5949?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14170236#comment-14170236 ] 

Manoj Majumdar edited comment on TEIID-5949 at 6/22/20 5:15 AM:
----------------------------------------------------------------

I altered the source metadata to read it as string, and used preparedStatement.setObject, it is working in every scenario for this combination. Reading it as timestamp was causing loss of precision and offset , as well I was unable to use it for comparision in "SELECT" query.


was (Author: manoj1492):
I altered the source metadata to read it as string, and used preparedStatement.setObject, it is working in every scenario for this combination

> SQLServer DateTimeOffset datatype is read as object(34)
> -------------------------------------------------------
>
>                 Key: TEIID-5949
>                 URL: https://issues.redhat.com/browse/TEIID-5949
>             Project: Teiid
>          Issue Type: Bug
>          Components: JDBC Driver
>    Affects Versions: 11.1.2
>            Reporter: Manoj Majumdar
>            Assignee: Steven Hawkins
>            Priority: Major
>              Labels: TEIID30504, sqlserver2012
>             Fix For: 15.0
>
>
> Hi,
> I am trying to set null in datetimeoffset datatype of SQLSERVER using Teiid , but it is giving the error as:
> org.teiid.jdbc.TeiidSQLException: TEIID30504 Remote org.teiid.core.TeiidProcessingException: TEIID30504 B_MSSQL1: S0003 Implicit conversion from data type varbinary to datetimeoffset is not allowed. Use the CONVERT function to run this query.
>         at org.teiid.jdbc.TeiidSQLException.create(TeiidSQLException.java:131)
>         at org.teiid.jdbc.TeiidSQLException.create(TeiidSQLException.java:67)
>         at org.teiid.jdbc.StatementImpl.postReceiveResults(StatementImpl.java:752)
>         at org.teiid.jdbc.StatementImpl.access$100(StatementImpl.java:62)
>         at org.teiid.jdbc.StatementImpl$2.onCompletion(StatementImpl.java:562)
>         at org.teiid.client.util.ResultsFuture.done(ResultsFuture.java:131)
>         at org.teiid.client.util.ResultsFuture.access$200(ResultsFuture.java:36)
>         at org.teiid.client.util.ResultsFuture$1.receiveResults(ResultsFuture.java:75)
>         at org.teiid.net.socket.SocketServerInstanceImpl.receivedMessage(SocketServerInstanceImpl.java:281)
>         at org.teiid.net.socket.SocketServerInstanceImpl.read(SocketServerInstanceImpl.java:333)
>         at org.teiid.net.socket.SocketServerInstanceImpl$RemoteInvocationHandler$1.get(SocketServerInstanceImpl.java:423)
>         at org.teiid.jdbc.StatementImpl.executeSql(StatementImpl.java:571)
>         at org.teiid.jdbc.StatementImpl.executeSql(StatementImpl.java:420)
>         at org.teiid.jdbc.PreparedStatementImpl.executeBatch(PreparedStatementImpl.java:296)
> I am just using a table, with only one column "datetimeoffset" and when I an using Preparedstatement.setNull(1, Types.TIMESTAMP), it is throwing this error.
> Also the datetimeoffset datatype is read as "object(34)" while fetching the schema using Teiid and Microsoft JDBC driver.
> Please suggest any ways to overcome this issue.



--
This message was sent by Atlassian Jira
(v7.13.8#713008)


More information about the teiid-issues mailing list