|
Home > Archive > SQL Anywhere ultralite > January 2006 > multiply threads with UL
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 |
multiply threads with UL
|
|
|
| Hi all
UL 9.0.1.1751
ML 9.0.2.3198
I want to work with multiply threads on the ppc but I have
problems to do things on the udb (not the same table only
the same file) I even tried with different connections but
it gives me error:
"database server not running in multi-user mode."
Sqlcode: SQLE_ENGINE_NOT_MULT
IUSER
Do I have to use different udb??
Or there is another way?
| |
| Rob Waywell 2005-12-27, 11:23 am |
| What interface are you using to access UltraLite?
Are you using UltraLite.NET or a different interface?
One possible cause of this error is that you can only access the database in
read-only mode while MobiLink is uploading data from the database. So if
connection 1 is uploading data through MobiLink and connection 2 is trying
to update a table, then that would generate this error on connection 2.
--
-----------------------------------------------
Robert Waywell
Sybase Adaptive Server Anywhere Developer - Version 8
Sybase Certified Professional
Sybase's iAnywhere Solutions
Please respond ONLY to newsgroup
EBF's and Patches: http://downloads.sybase.com
choose SQL Anywhere Studio >> change 'time frame' to all
To Submit Bug Reports:
http://case-express.sybase.com/cx/c...sc?CASETYPE=Bug
SQL Anywhere Studio Supported Platforms and Support Status
http://my.sybase.com/detail?id=1002288
<Omri> wrote in message news:43aea211.6c8a.1681692777@sybase.com...
> Hi all
>
> UL 9.0.1.1751
> ML 9.0.2.3198
>
> I want to work with multiply threads on the ppc but I have
> problems to do things on the udb (not the same table only
> the same file) I even tried with different connections but
> it gives me error:
>
> "database server not running in multi-user mode."
>
> Sqlcode: SQLE_ENGINE_NOT_MULT
IUSER
>
>
>
> Do I have to use different udb??
>
> Or there is another way?
| |
|
| Hey There,
UL 9.0.2.3198
> What interface are you using to access UltraLite?
> Are you using UltraLite.NET or a different interface?
---- yes this is Ultalite.NET
> One possible cause of this error is that you can only
> access the database in read-only mode while MobiLink is
> uploading data from the database. So if connection 1 is
> uploading data through MobiLink and connection 2 is trying
> to update a table, then that would generate this error on
> connection 2.
------the thing is that all the UDB is locked, can't enter
with diffrent connections to the usb or the same in diffrent
threads , i had to creat diffrent udb to one table because
of this.
basicly the UL can't handle with multiply threads unless
you show me diffrent
thank you in advenced
have a nice day,
Omri Ziv
> --
> -----------------------------------------------
> Robert Waywell
> Sybase Adaptive Server Anywhere Developer - Version 8
> Sybase Certified Professional
>
> Sybase's iAnywhere Solutions
>
> Please respond ONLY to newsgroup
>
> EBF's and Patches: http://downloads.sybase.com
> choose SQL Anywhere Studio >> change 'time frame' to all
>
> To Submit Bug Reports:
>
http://case-express.sybase.com/cx/c...sc?CASETYPE=Bug
>
| |
| Rob Waywell 2005-12-29, 11:23 am |
| 1) Please confirm that a thread was synchronizing at the time you received
this error on another thread.
If not, then please open a case with Tech Support and submit the
reproducible example.
If so, then yes the entire db is limited to read only access during
the upload portion of the synchronization.
2) What *exact* operation were you trying to execute on the database at the
time?
--
-----------------------------------------------
Robert Waywell
Sybase Adaptive Server Anywhere Developer - Version 8
Sybase Certified Professional
Sybase's iAnywhere Solutions
Please respond ONLY to newsgroup
EBF's and Patches: http://downloads.sybase.com
choose SQL Anywhere Studio >> change 'time frame' to all
To Submit Bug Reports:
http://case-express.sybase.com/cx/c...sc?CASETYPE=Bug
SQL Anywhere Studio Supported Platforms and Support Status
http://my.sybase.com/detail?id=1002288
<Omri> wrote in message news:43b394c7.1d83.1681692777@sybase.com...[color=darkred]
> Hey There,
>
> UL 9.0.2.3198
>
>
> ---- yes this is Ultalite.NET
>
>
> ------the thing is that all the UDB is locked, can't enter
> with diffrent connections to the usb or the same in diffrent
> threads , i had to creat diffrent udb to one table because
> of this.
>
> basicly the UL can't handle with multiply threads unless
> you show me diffrent
>
> thank you in advenced
> have a nice day,
>
> Omri Ziv
> http://case-express.sybase.com/cx/c...sc?CASETYPE=Bug
>
| |
| Michael Thode 2006-01-02, 1:23 pm |
| In general only one thread can be in the ultralite runtime at once. Other
threads will block on a mutex until the other thread has completed.
The exception to this is synchronization. Other threads may use the
database while syncronization is taking place. During the upload phase of
the synchronization the database is read only. If you attempt to update the
database while an upload is taking place you will get
SQLE_ENGINE_NOT_MULT
IUSER. You can use the sync observer to determine when
the upload is taking place and postpone database modifications until that
time. Or, you could retry the operation in a loop until it succeeds (with a
delay).
Mike
<Omri> wrote in message news:43b394c7.1d83.1681692777@sybase.com...
> Hey There,
>
> UL 9.0.2.3198
>
>
> ---- yes this is Ultalite.NET
>
>
> ------the thing is that all the UDB is locked, can't enter
> with diffrent connections to the usb or the same in diffrent
> threads , i had to creat diffrent udb to one table because
> of this.
>
> basicly the UL can't handle with multiply threads unless
> you show me diffrent
>
> thank you in advenced
> have a nice day,
>
> Omri Ziv
>
http://case-express.sybase.com/cx/c...sc?CASETYPE=Bug[color=darkred]
>
| |
| Tom Slee 2006-01-03, 9:23 am |
| One other possibility is that if you are using the iAnywhere.UltraLite
namespace, all connections must come from the same DatabasManager class.
UltraLite can definitely support multiple connections from a single
application. If you wish to use multiple applications, then you need to
use the UltraLite engine rather than the library.
Tom Slee
Michael Thode wrote:
> In general only one thread can be in the ultralite runtime at once. Other
> threads will block on a mutex until the other thread has completed.
>
> The exception to this is synchronization. Other threads may use the
> database while syncronization is taking place. During the upload phase of
> the synchronization the database is read only. If you attempt to update the
> database while an upload is taking place you will get
> SQLE_ENGINE_NOT_MULT
IUSER. You can use the sync observer to determine when
> the upload is taking place and postpone database modifications until that
> time. Or, you could retry the operation in a loop until it succeeds (with a
> delay).
>
> Mike
>
> <Omri> wrote in message news:43b394c7.1d83.1681692777@sybase.com...
>
> http://case-express.sybase.com/cx/c...sc?CASETYPE=Bug
>
>
>
| |
|
| UL 9.0.2.3198
Hi Tom ,
i ddin't understand your response, should i add another
Databsemanager ?
what is ultralite engine or Library pls define??
have a good day,
thanks for all the advises ,
Omri Ziv
> One other possibility is that if you are using the
> iAnywhere.UltraLite namespace, all connections must come
> from the same DatabasManager class.
>
> UltraLite can definitely support multiple connections from
> a single application. If you wish to use multiple
> applications, then you need to use the UltraLite engine
> rather than the library.
>
> Tom Slee
>
| |
|
| UL 9.0.2.3198
Hi Tom ,
i ddin't understand your response, should i add another
Databsemanager ?
what is ultralite engine or Library pls define??
have a good day,
thanks for all the advises ,
Omri Ziv
> One other possibility is that if you are using the
> iAnywhere.UltraLite namespace, all connections must come
> from the same DatabasManager class.
>
> UltraLite can definitely support multiple connections from
> a single application. If you wish to use multiple
> applications, then you need to use the UltraLite engine
> rather than the library.
>
> Tom Slee
>
| |
| Tom Slee 2006-01-04, 9:23 am |
| Sorry for the confusion.
The iAnywhere.UltraLite namespace has a DatabaseManager object. If you
are using this namespace, your application should have only one
DatabaseManager object. If you are using the iAnywhere.Data.UltraLite
namespace there is no corresponding object, so this is not a problem.
The second thing I was writing about was, IF and only if you want to
connect to your database from more than one APPLICATION, then you can
use a version of UltraLite that runs as a separate executable process.
You can look up dbuleng9 in the documentation to find out more. However,
if you are using multiple connections from one application there is no
need for this separate executable.
Hope that is a bit clearer.
Tom
Omri wrote:[color=darkred
]
> UL 9.0.2.3198
> Hi Tom ,
>
> i ddin't understand your response, should i add another
> Databsemanager ?
> what is ultralite engine or Library pls define??
>
> have a good day,
> thanks for all the advises ,
> Omri Ziv
>
>
| |
|
| UL 9.0.2.3198
Thanks Tom its more clearer but now can you explain me the
difrencees beetweenn iAnywhere.UltraLite
and iAnywhere.Data.UltraLite and how to use
iAnywhere.Data.UltraLite now i'm usin databasemanager.
thanks in advenced
have a great day
Omri Ziv
> Sorry for the confusion.
>
> The iAnywhere.UltraLite namespace has a DatabaseManager
> object. If you are using this namespace, your application
> should have only one DatabaseManager object. If you are
> using the iAnywhere.Data.UltraLite namespace there is no
> corresponding object, so this is not a problem.
>
> The second thing I was writing about was, IF and only if
> you want to connect to your database from more than one
> APPLICATION, then you can use a version of UltraLite that
> runs as a separate executable process. You can look up
> dbuleng9 in the documentation to find out more. However,
> if you are using multiple connections from one application
> there is no need for this separate executable.
>
> Hope that is a bit clearer.
>
> Tom
>
| |
|
| > UL 9.0.2.3198
>
Hi all,
i decided to go on with the iAnywhere.ultralite,
and to add another UDB file that will deal the other thread
and will update the main UDB when the thread has been
stopped.
its not ideal but its working.
Have a great day,
Omri Ziv
|
|
|
|
|