View Issue Details

IDProjectCategoryView StatusLast Update
0003457SymmetricDSBugpublic2018-03-12 08:26
ReportermmichalekAssigned Tommichalek 
Prioritynormal 
Status closedResolutionfixed 
Product Version3.9.5 
Target Version3.9.5Fixed in Version3.9.5 
Summary0003457: Oracle geometry/geography type fails to insert if geometry data > 4k
DescriptionA geometry type of 4k will result in the following exception. The fix was to change the JDBC type from OTHER to CLOB.

2018-02-23 16:52:59,149 INFO [store-005] [DefaultDatabaseWriter] [store-005-dataloader-4] Failed to process insert event in batch 000-103 on channel 'item'.
Failed sql was: insert into "SYMMETRIC"."ITEM" ("ITEM_ID", "SHAPE", "NAME") values (?,SYM_WKT2GEOM(?),?)
Failed sql parameters: [123, 'POLYGON ((34.6003519690521 35.7273970428138, 34.599630492562 35.7273919293539, [REDACTED]))']
Failed sql parameters types: [DECIMAL, OTHER, VARCHAR]
Failed sql state and code: 72000 (1461)
Failed row data was: "123","POLYGON ((34.6003519690521 35.7273970428138, 34.599630492562 35.7273919293539, [REDACTED]))"
 StackTraceKey.init [SqlException:1814932067]
org.jumpmind.db.sql.SqlException: ORA-01461: can bind a LONG value only for insert into a LONG column

    at org.jumpmind.db.sql.AbstractSqlTemplate.translate(AbstractSqlTemplate.java:300)
    at org.jumpmind.db.sql.AbstractSqlTemplate.translate(AbstractSqlTemplate.java:291)
    at org.jumpmind.db.sql.JdbcSqlTransaction.addRow(JdbcSqlTransaction.java:478)
    at org.jumpmind.symmetric.io.data.writer.DefaultDatabaseWriter.execute(DefaultDatabaseWriter.java:865)
    at org.jumpmind.symmetric.io.data.writer.DefaultDatabaseWriter.insert(DefaultDatabaseWriter.java:202)
    at org.jumpmind.symmetric.io.data.writer.AbstractDatabaseWriter.write(AbstractDatabaseWriter.java:191)
    at org.jumpmind.symmetric.io.data.writer.NestedDataWriter.write(NestedDataWriter.java:64)
    at org.jumpmind.symmetric.model.ProcessInfoDataWriter.write(ProcessInfoDataWriter.java:84)
    at org.jumpmind.symmetric.io.data.writer.NestedDataWriter.write(NestedDataWriter.java:64)
    at org.jumpmind.symmetric.io.data.writer.TransformWriter.write(TransformWriter.java:206)
    at org.jumpmind.symmetric.io.data.DataProcessor.forEachDataInTable(DataProcessor.java:210)
    at org.jumpmind.symmetric.io.data.DataProcessor.forEachTableInBatch(DataProcessor.java:177)
    at org.jumpmind.symmetric.io.data.DataProcessor.process(DataProcessor.java:123)
    at org.jumpmind.symmetric.service.impl.DataLoaderService$LoadIntoDatabaseOnArrivalListener$1.call(DataLoaderService.java:1029)
    at org.jumpmind.symmetric.service.impl.DataLoaderService$LoadIntoDatabaseOnArrivalListener$1.call(DataLoaderService.java:1)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.sql.SQLException: ORA-01461: can bind a LONG value only for insert into a LONG column

    at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:445)
    at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:396)
    at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:879)
    at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:450)
    at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:192)
    at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:531)
    at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:207)
    at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:1037)
    at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1329)
    at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3584)
    at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:3685)
    at oracle.jdbc.driver.OraclePreparedStatementWrapper.execute(OraclePreparedStatementWrapper.java:1088)
    at org.apache.commons.dbcp.DelegatingPreparedStatement.execute(DelegatingPreparedStatement.java:172)
    at org.apache.commons.dbcp.DelegatingPreparedStatement.execute(DelegatingPreparedStatement.java:172)
    at org.jumpmind.db.sql.JdbcSqlTransaction.addRow(JdbcSqlTransaction.java:472)
    ... 16 more

Activities

There are no notes attached to this issue.

Related Changesets

SymmetricDS: 3.9 2b49ecff

2018-02-23 17:13:41

mmichalek

Details Diff
0003457: Oracle geometry/geography type fails to insert if geometry data
> 4k

0003457
mod - symmetric-db/src/main/java/org/jumpmind/db/platform/oracle/OracleDmlStatement.java Diff File

Issue History

Date Modified Username Field Change
2018-02-23 17:13 mmichalek New Issue
2018-02-23 17:13 mmichalek Status new => assigned
2018-02-23 17:13 mmichalek Assigned To => mmichalek
2018-02-23 17:14 mmichalek Status assigned => resolved
2018-02-23 17:14 mmichalek Resolution open => fixed
2018-02-23 17:14 mmichalek Fixed in Version => 3.9.5
2018-02-23 18:00 mmichalek Changeset attached => SymmetricDS 3.9 2b49ecff
2018-03-12 08:26 chenson Status resolved => closed