I am trying to use SQL Passthrough to send a create table statement to a remote database. The table will not be synchronized. The remote database is SQL Anywhere 11.0.1.2867 and is running on a Window 7 tablet computer. The consolidated schema is on a 11.2.0.3 Oracle database running on Solaris 10. The MobiLink server (SQL Anywhere MobiLink Server Version 11.0.1.2753) is also running on Solaris 10.

After a successful sync, the table is created in the remote database and the following row is added to the sync_passthrough_status table:

run_order,script_id,script_status,error_code,error_text,remote_run_time

1,11,'S',0,'','2013-04-05 14:38:47.983'

However, the next sync has an error when trying to upload this row to the consolidated Oracle schema:

I. 2013-04-05 15:21:23. <1> Received passthrough data from client: last run_time: 2013-04-05 14:35:23.875606 I. 2013-04-05 15:21:23. <1> run_order: 1 script_id: 11 status S error_code: 0 error_text

Removed several lines of whitespace

remote_run_time: 2013-04-05 14:38:47.983000

I. 2013-04-05 15:21:23. <1> System event: SELECT count(*) FROM ml_passthrough_status WHERE remote_id = ? AND run_order = ? AND remote_run_time = ?

I. 2013-04-05 15:21:23. <1> Translated SQL: SELECT count(*) FROM ml_passthrough_status WHERE remote_id = :p1 AND run_order = :p2 AND remote_run_time = :p3

I. 2013-04-05 15:21:23. <1> System event: INSERT INTO ml_passthrough_status (remote_id, run_order, script_id, script_status, error_code, error_text, remote_run_time) VALUES( ?, ?, ?, ?, ?, ?, ? )

I. 2013-04-05 15:21:23. <1> Translated SQL: INSERT INTO ml_passthrough_status (remote_id, run_order, script_id, script_status, error_code, error_text, remote_run_time) VALUES( :p1, :p2, :p3, :p4, :p 5, :p6, :p7 )

E. 2013-04-05 15:21:23. <1> [-10002] Consolidated database server or ODBC error: ODBC: [Sybase][iAnywhere Solutions - Oracle][Oracle]Data truncated (ODBC State = 01004, Native e rror code = -1)

I thought that maybe it was truncating the blank spaces in the error_text field but this field in SQL Anywhere is long varchar (2GB maximum) and the field in Oracle is clob (4GB maximum).

Any other ideas?

asked 01 May '13, 10:02

cullen's gravatar image

cullen
51226
accept rate: 0%


but this field in SQL Anywhere is long varchar (2GB maximum) and the field in Oracle is clob (4GB maximum).

I work on the SQLA side of a MobiLink-to-Oracle project and I know syncing these blobs does not work straight-forward with Oracle. (Apparently the other database company never read the iAnywhere development principle of "just make things work they way they should" :). I willl see if I can find the developer who solved the problem on the Oracle side for an actual answer, but I do know he found the solution after research on the web. I would suggest keywords MobiLink, Oracle and clobs.

permanent link

answered 07 May '13, 11:08

Bill%20Aumen's gravatar image

Bill Aumen
2.0k294473
accept rate: 16%

I notice that your MobiLink clients are a newer build than the MobiLink server. It might not affect the problem, but the MobiLink server build should be greater than or equal to the MobiLink client build (at least for version 12 and earlier of SQL Anywhere).

Also, character set conversion can cause changes to string sizes, which might lead to the Oracle Data truncated error.

permanent link

answered 06 May '13, 17:08

Graham%20Hurst's gravatar image

Graham Hurst
2.6k11843
accept rate: 28%

Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Question tags:

×278

question asked: 01 May '13, 10:02

question was seen: 606 times

last updated: 07 May '13, 11:08