Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Mobilink error with Syncing to Production Oracle DB

7 views
Skip to first unread message

RunXc1(Bret)

unread,
Dec 4, 2009, 4:45:30 PM12/4/09
to
Ok so here is the scenario. We have two developers using the
developer edition of Mobilink to sync to a consolidated Oracle
DataBase using SqlAnywhere.

The mobilink Version is
"SQL Anywhere MobiLink Server Version 11.0.1.2331"
Everything works fine in the two development environments. One dev
environment is Windows 7 x64 and Oracle 11g r1. The other is xp x86
and Oracle 10gr2. Both work fine and are syncing with a replica of
the production database(took a dump file from the production server).

We are now in a beta state and are trying to set up the
synchronization and it keeps failing. The beta environment is using
"SQL Anywhere MobiLink Server Version 11.0.1.2044" and is running on
Windows 2003 x64. Looking at the error log on the PDA and the Server
confirms that the user is getting authenticated and that the
synchronization is starting but it breaks at the same point each
time. Below are some additional details from the log.

I. 2009-12-04 13:30:38. <1> end_download_rows G_INV_LOCATION_DESC (no
script)
I. 2009-12-04 13:30:38. <1> begin_download_deletes G_COMMENT_INFO (no
script)
I. 2009-12-04 13:30:38. <1> download_delete_cursor G_COMMENT_INFO

--{ml_ignore}

I. 2009-12-04 13:30:38. <1> Translated SQL:

E. 2009-12-04 13:30:38. <1> [-10002] Consolidated database server or
ODBC error: ODBC: [Sybase][iAnywhere Solutions - Oracle][Oracle]
ORA-00900: invalid SQL statement
(ODBC State = 42000, Native error code = 900)
I. 2009-12-04 13:30:38. <1> Error Context:
I. 2009-12-04 13:30:38. <1> Remote ID: 62e3d800-e09d-11de-8000-
fb73ff3a8e87
I. 2009-12-04 13:30:38. <1> User Name: bogus_user
I. 2009-12-04 13:30:38. <1> Modified User Name: bogus_user
I. 2009-12-04 13:30:38. <1> Transaction: download
I. 2009-12-04 13:30:38. <1> Table Name: G_COMMENT_INFO
I. 2009-12-04 13:30:38. <1> Script Version: bogus_user_scan
I. 2009-12-04 13:30:38. <1> Script:
--{ml_ignore}

I. 2009-12-04 13:30:38. <1> End of Error Context
I. 2009-12-04 13:30:38. <1> report_error <connection> (no script)
I. 2009-12-04 13:30:38. <1> report_odbc_error <connection> (no script)

Kory Hodgson (Sybase iAnywhere)

unread,
Dec 4, 2009, 5:01:27 PM12/4/09
to
Why would you test with 11.0.1.2331 and then try to deploy version
11.0.1.2044? You should ALWAYS test and deploy the exact same version.

What if you try using the newer build? Maybe there was a fix made, I
believe 11.0.1.2044 was the GA version.

If that doesn't work could you post the full log files please.

Josh Savill [Sybase]

unread,
Dec 4, 2009, 5:04:24 PM12/4/09
to
The problem is the result of testing with build 2231, then going into production with an older build
2044.

With MobiLink server 11.0.1.2044 you're hitting this problem:

================(Build #2260 - Engineering Case #577142)================

The MobiLink server would not have skipped a script that was defined to be
ignored, if the script contained white space (spaces, tabs, and/or line-breaks)
before the special prefix, '--{ml_ignore}'. This problem is fixed now.

This problem is fixed in build 2260. The build you were testing with already has the fix. I
recommend upgrading your MobiLink server to build 2231 given this is what you were using for
development of the scripts.

--
Joshua Savill
Sybase Inc. - Product Manager

Josh Savill [Sybase]

unread,
Dec 4, 2009, 5:12:32 PM12/4/09
to
I had a typo. Your development build was 2331, not 2231.

--
Joshua Savill
Sybase Inc. - Product Manager

Jeff Albion [Sybase iAnywhere]

unread,
Dec 4, 2009, 5:48:57 PM12/4/09
to
Hi Bret,

It looks like there's a bad parse of this event script from the
consolidaed - there shouldn't be any attempt to translate the SQL as
seen here:

RunXc1(Bret) wrote:
> I. 2009-12-04 13:30:38. <1> begin_download_deletes G_COMMENT_INFO (no
> script)
> I. 2009-12-04 13:30:38. <1> download_delete_cursor G_COMMENT_INFO
>
> --{ml_ignore}
>
> I. 2009-12-04 13:30:38. <1> Translated SQL:
>
>
>
> E. 2009-12-04 13:30:38. <1> [-10002] Consolidated database server or
> ODBC error: ODBC: [Sybase][iAnywhere Solutions - Oracle][Oracle]
> ORA-00900: invalid SQL statement

We should just ignore the script entirely.

What does the script text of this event actually read as in the
consolidated database? Try removing all whitespace / other characters
prior to the '--{ml_ignore}' directive. This should be the first command
in the cursor to be properly detected.

Otherwise, try this running this SQL against Oracle:

---------
SELECT DUMP(TO_CHAR(ml_script.script)), ml_script.script FROM ml_script,
ml_table_script, ml_table WHERE ml_script.script_id =
ml_table_script.script_id AND ml_table_script.table_id =
ml_table.table_id AND ml_table.name = 'G_COMMENT_INFO' AND
ml_table_script.event = 'download_delete_cursor'
---------

and post the results back here.

Cheers,

--
Jeff Albion, Sybase iAnywhere

iAnywhere Developer Community :
http://www.sybase.com/developer/library/sql-anywhere-techcorner
iAnywhere Documentation : http://www.ianywhere.com/developer/product_manuals
SQL Anywhere Patches and EBFs :
http://downloads.sybase.com/swd/summary.do?baseprod=144&client=ianywhere&timeframe=0
Report a Bug/Open a Case : http://case-express.sybase.com/cx/

Unknown

unread,
Dec 7, 2009, 1:10:13 PM12/7/09
to
There was a bug in the implementation of an
--{ml_ignore} script that was not fixed until
11.0.1 EBF 2260.

"RunXc1(Bret)" <run...@gmail.com> wrote in message
news:e96170d3-7ea5-4c39...@15g2000prz.googlegroups.com...

0 new messages