You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Using a timestamp / rowversion column as a replication key causes the incremental strategy to error due to the byte array that's being written to STATE being passed to the where clause.
I tested that converting the replication-key-value back into a number allows it to complete successfully.
INFO Successfully connected to the instance
INFO Syncing stream TEST_dbo_person using replication method INCREMENTAL
INFO Executing query: ("SELECT [person_id], [first_name], [last_name], [gender], [RowVers], [Edit_DtTm], [Create_DtTm] FROM [dbo].[person] WHERE RowVers >= ? ORDER BY RowVers" [0 0 0 0 0 0 7 -25])
INFO Mapping: customer to ['customer']
INFO Mapping: tp_customer_person_id__sdc_sequence_idx to None
INFO Mapping: tp_person__1585608487075_person_id__sdc_sequence_idx to None
INFO Mapping: person to ['person']
INFO Stream customer (customer) with max_version None targetting None
INFO Root table name customer
INFO Writing batch with 0 records for `customer` with `key_properties`: `['person_id']`
INFO Writing table batch schema for `('customer',)`...
com.microsoft.sqlserver.jdbc.SQLServerException: The conversion from UNKNOWN to UNKNOWN is unsupported.
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:228)
at com.microsoft.sqlserver.jdbc.DataTypes.throwConversionError(DataTypes.java:1094)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.setObject(SQLServerPreparedStatement.java:1595)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.setObjectNoType(SQLServerPreparedStatement.java:1493)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.setObject(SQLServerPreparedStatement.java:1502)
at clojure.java.jdbc$eval705$fn__706.invokePrim(jdbc.clj:484)
at clojure.java.jdbc$eval705$fn__706.invoke(jdbc.clj)
at clojure.java.jdbc$eval684$fn__685$G__675__694.invoke(jdbc.clj:471)
at clojure.java.jdbc$dft_set_parameters.invokeStatic(jdbc.clj:495)
at clojure.java.jdbc$dft_set_parameters.invoke(jdbc.clj:490)
at clojure.java.jdbc$execute_query_with_params.invokeStatic(jdbc.clj:1071)
at clojure.java.jdbc$execute_query_with_params.invoke(jdbc.clj:1066)
at clojure.java.jdbc$db_query_with_resultset_STAR_.invokeStatic(jdbc.clj:1095)
at clojure.java.jdbc$db_query_with_resultset_STAR_.invoke(jdbc.clj:1075)
at clojure.java.jdbc$reducible_query$reify__944.reduce(jdbc.clj:1339)
at clojure.core$reduce.invokeStatic(core.clj:6747)
at clojure.core$reduce.invoke(core.clj:6730)
at tap_mssql.sync_strategies.incremental$sync_and_write_messages_BANG_.invokeStatic(incremental.clj:50)
at tap_mssql.sync_strategies.incremental$sync_and_write_messages_BANG_.invoke(incremental.clj:33)
at tap_mssql.sync_strategies.incremental$sync_BANG_.invokeStatic(incremental.clj:66)
at tap_mssql.sync_strategies.incremental$sync_BANG_.invoke(incremental.clj:61)
at tap_mssql.core$dispatch_sync_by_strategy.invokeStatic(core.clj:109)
at tap_mssql.core$dispatch_sync_by_strategy.invoke(core.clj:99)
at tap_mssql.core$sync_stream_BANG_.invokeStatic(core.clj:123)
at tap_mssql.core$sync_stream_BANG_.invoke(core.clj:116)
at tap_mssql.core$maybe_sync_stream_BANG_.invokeStatic(core.clj:133)
at tap_mssql.core$maybe_sync_stream_BANG_.invoke(core.clj:129)
at clojure.core$partial$fn__5563.invoke(core.clj:2624)
at clojure.core.protocols$fn__7852.invokeStatic(protocols.clj:168)
at clojure.core.protocols$fn__7852.invoke(protocols.clj:124)
at clojure.core.protocols$fn__7807$G__7802__7816.invoke(protocols.clj:19)
at clojure.core.protocols$seq_reduce.invokeStatic(protocols.clj:31)
at clojure.core.protocols$fn__7835.invokeStatic(protocols.clj:75)
at clojure.core.protocols$fn__7835.invoke(protocols.clj:75)
at clojure.core.protocols$fn__7781$G__7776__7794.invoke(protocols.clj:13)
at clojure.core$reduce.invokeStatic(core.clj:6748)
at clojure.core$reduce.invoke(core.clj:6730)
at tap_mssql.core$do_sync.invokeStatic(core.clj:143)
at tap_mssql.core$do_sync.invoke(core.clj:139)
at tap_mssql.core$_main.invokeStatic(core.clj:169)
at tap_mssql.core$_main.doInvoke(core.clj:154)
at clojure.lang.RestFn.invoke(RestFn.java:512)
at clojure.lang.Var.invoke(Var.java:411)
at user$eval149.invokeStatic(form-init8490039590763633355.clj:1)
at user$eval149.invoke(form-init8490039590763633355.clj:1)
at clojure.lang.Compiler.eval(Compiler.java:7062)
at clojure.lang.Compiler.eval(Compiler.java:7052)
at clojure.lang.Compiler.load(Compiler.java:7514)
at clojure.lang.Compiler.loadFile(Compiler.java:7452)
at clojure.main$load_script.invokeStatic(main.clj:278)
at clojure.main$init_opt.invokeStatic(main.clj:280)
at clojure.main$init_opt.invoke(main.clj:280)
at clojure.main$initialize.invokeStatic(main.clj:311)
at clojure.main$null_opt.invokeStatic(main.clj:345)
at clojure.main$null_opt.invoke(main.clj:342)
at clojure.main$main.invokeStatic(main.clj:424)
at clojure.main$main.doInvoke(main.clj:387)
at clojure.lang.RestFn.applyTo(RestFn.java:137)
at clojure.lang.Var.applyTo(Var.java:702)
at clojure.main.main(main.java:37)
FATAL The conversion from UNKNOWN to UNKNOWN is unsupported.
INFO Shutting down the nrepl server
The text was updated successfully, but these errors were encountered:
Using a timestamp / rowversion column as a replication key causes the incremental strategy to error due to the byte array that's being written to
STATE
being passed to the where clause.I tested that converting the replication-key-value back into a number allows it to complete successfully.
Example state:
Test Schema:
Example stack trace:
The text was updated successfully, but these errors were encountered: