|
Home > Archive > SQL Anywhere Mobile > October 2005 > Mobilink / ASA 8.0.2 and schema change
You are viewing an archived Text-only version of the thread.
To view this thread in it's original format and/or if you want to reply to
this thread please [click here]
| Author |
Mobilink / ASA 8.0.2 and schema change
|
|
| Mark Hampton 2005-10-27, 8:21 am |
| I'm about to deploy a schema change for a deployed application using ASA
8.0.2 and Mobilink. Changing one column from varchar (30) to varchar (40).
From searching the groups, I see two basic options:
1) Use the -i command line option of dbmlsync
2) Use set of procedures mentioned by David Fishburn in "Re: Recommendation
of process for altering a column definition for table assigned to a sync
def/pub".
The documentation for 8.0.2 isn't very helpful about the -i option. No
examples are given, and there is this scary statement: "and before releasing
the table locks," -- (so, does this mean I can't alter the tables?).
I'm actually considering Option 3:
After a sucessfull data transfer, we replace the remote database file with a
new empty one.
Any comments or help for me? Upgrading all of the users to ASA 9 isn't
really an option at this point for this client.
Thanks.
| |
| David Fishburn 2005-10-27, 8:21 am |
| "Mark Hampton" <mhampton. removeme@datavantage
corp.com> wrote in
news:435ff5f0$1@foru
ms-2-dub of sybase.public.sqlanywhere.mobilink:
MH> 2) Use set of procedures mentioned by David Fishburn in "Re:
MH> Recommendation of process for altering a column definition for table
MH> assigned to a sync def/pub".
This is something that takes planning before the release to production.
MH> The documentation for 8.0.2 isn't very helpful about the -i option.
No
MH> examples are given, and there is this scary statement: "and before
MH> releasing the table locks," -- (so, does this mean I can't alter the
MH> tables?).
Correct, it was deprecated in favour of the hook stored procedures
referenced in 2) above. This is mainly for security reasons.
MH> I'm actually considering Option 3:
MH>
MH> After a sucessfull data transfer, we replace the remote database file
MH> with a new empty one.
One problem I see here.
Unless you are using 9.0.2 and above, if you delete the remote, recreate
it (empty) and assign it the _same_ MobiLink user name (which is likely)
synchronization will fail indicating the consolidated and remote
disagree on the last known progress value.
Please test this to ensure what I suspect will be reported is.
When this happens you would have to run dbmluser -d <username> ...
against the consolidated which essentially "resets" this user. This is
done automatically for you in 9.0.2 and above.
--
David Fishburn
Certified ASA Developer Version 8
iAnywhere Solutions - Sybase
Professional Services
Please only post to the newsgroup
Please ALWAYS include version and MORE importantly BUILD number with
EACH post (dbeng9 -v).
EBFs and Maintenance Releases
http://downloads.sybase.com/swx/sdmain.stm
Developer Community / Whitepapers
http://www.ianywhere.com/developer
CaseXpress - to report bugs
http://casexpress.sybase.com
CodeXchange - Free samples
[url]http://ianywhere.codexchange.sybase.com/servlets/ ProjectDocumentList[
/url]
| |
| handheldmaster 2005-10-27, 8:21 am |
| > One problem I see here.
> Unless you are using 9.0.2 and above, if you delete the remote, recreate
> it (empty) and assign it the _same_ MobiLink user name (which is likely)
> synchronization will fail indicating the consolidated and remote
> disagree on the last known progress value.
>
> Please test this to ensure what I suspect will be reported is.
>
> When this happens you would have to run dbmluser -d <username> ...
> against the consolidated which essentially "resets" this user. This is
> done automatically for you in 9.0.2 and above.
>
"This is done automatically for you in 9.0.2 and above."
So without even running the dbmluser the internal sequence number will be
reset (as in set to 0 - ML_USER table) on the next data-sync. I like this
feature as otherwise the administrator OR programmer needs to reset for
user.
If using Ultralite can this value be reset from the REMOTE itself (as in by
the user)?
|
|
|
|
|