Thank u vasileios. I installed the above two cabs successfully on top of Oracle Lite PPC2003 ARMV4. From the device, Using msql tool, I could connect to system/system and run SQL commands, but when I try to connect to MASTER/MASTER which was created during MOBILE SERVER installation, it's saying MASTER user does not exist though the MASTER schema is present in the database.
When i tried to install the demo application (Transport) using Oracle Update tool from the device, it asked the information to register the device with mobile server. On submitting info, it prompted with the following error message:
Insufficient information to proceed
Error code: Invalid platform: WINCE: 400
Again I tried to sync up with msync tool from the device with the details: Username: JUNE, Password: JUNE and Mobile Server IP Address. It said the sync was done successfully.
My intention is to test the demo application from the device with up and running sync with MASTER schema. Please help me out.
μπραβο(=well done) for making the first step.
by replacing the ppc2003 file it means that now you can download it as if it said wince5. the help file on the previous post was explaining how you can create a new platform so that besides the ppc50,ppc60,ppc2003 etc to say a new one
like ppcwince50 or something.
ok now conserning our issue.
if the msync successfully synced then you go run the msql tool on the device. there you should be able to see 2 databases one is the system(conscli) and one is your own database (this could be for example the database from the demo or your own application) . bare in mind that olite like most(or all) mobile database systems doesnt support multiuser database on the device. this means that you only got one user the user that you used in the msync tool and in the dmagent.
so if i want to connect to the first of the 2 databases shown in the msql tool (the conscli, which is the olite internal db for its own purposes) i think it is system/system., but if you choose fromt he combobox the second one you must give system as username and for the password the password of the user that you used, that is JUNE, so it will be system/JUNE.
what if i msync ok but in the msql i see only the conscli?
go to the database save folder. if you have an sd card then check it there, if not then it is in the olite folder in the handheld. you should see 2 files for the conscli and if you managed to mscync ok 2 more files of the second db(for the system/JUNE). if you only see conscli then it means that you didnt set up the second db (e.g. the demo) correctly on the server.
if that is, then go on the server in the webtogo page,login, select you application from the application and give access to your user so for example june must have access to the demoapp. moreover the demoapp should be set up for the platform ppc2003 that you are using (if you have a handheld for ppc2003 and the app is set for ppc60 then it shouldnt download right?)
the msync tool you use the JUNE/JUNE correctly. there is no master schema on the handheld, are you refering to a schema in the oracle 11g (or whatever version you are using) repository schema?if so then dont expect to see one in the handheld.
finally "When i tried to install the demo application (Transport) using Oracle Update tool from the device, it asked the information to register the device with mobile server. On submitting info, it prompted with the following error message:"
theoritically speaking, after you msync , the update tool is executed and if something is needed for download the handheld will tell you, if not you can run the update tool directly. you see the demo(transport) app there?
you select the install i guess and it tells you to register the device to the server. go on the webtogo page, login ->mobile server-> mobile devices. here you see all the mobile devices registered with your server. is your device here, or is the list empty? if it is empty then we need to register it. you need to register it BEFORE msync. so 1st you register, 2md you msync.
1st register: install the olite cab on the device and then run the dmagent.exe. give the information of the server JUNE/JUNE . it runs and you should see (at least in windows mobile 6+) a small telephone on top.
2nd you msync using JUNE/JUNE
3rd if the update tool didnt pop up , run it yourself, is there an app to download?
5run the msql and see if you have the databases.
the invalid platform error you get kinda tells me that the transport demo is set up in the webtogo page for a platform that doesnt include the ppc2003, for example ppc60.
it is kinda difficult but not actually. the idea is that you could have 100 handhelds 30 of them running application1 on wince5, 30 running application2 on windowsmobile 6.5, and 40 running application3 on win32 clients with windows vista desktop pcs.something like that. each application points to a diffrent platform because for example a win32 compiled app will not run on windows mobile or wince.
hope it helped a little
Edited by: vasileios on Feb 14, 2012 11:27 PM
At first, i tried installing PPC50, PPC60, but failed. The I tried with PPC2003, installed successfully, but none of its tools like msql, msync ... got recognized by the device. Finally after you said to install stdsdk500 cabs, got succeeded with their installation and able to run stdsdk500 tools too.
Coming to the issue, you are right, I could see 2 databases (conscli and POLITE(which I have created)), and able to connect using system/JUNE with POLITE.
In the devices list, I could not find the Hand Held device, but PC(Windows XP). You said we need to register the device with server before msync. To register, you said to install olite cab then run dmagent.exe. Where can I find this olite CAB?
The problem is all with registration. Even when I use this DM tool to register, its gettig prompted with the the error message "Insufficient information to proceed. Error code: Invalid platform: WINCE: 400". I gave access to transport demo app for PPC2003 in webtogo page. I think it's a problem with platform itself as it works only with stdsdk500. I will try installing olite CAB for registration. Could you tell me where can I find it?
when you connect to the polite db i guess you see the demo tables right?
i apologize for not explaining it correctly. the olite cab that oracle lite keeps refering to is actually the cab file that you install.in your case it is the stdsdk500 cab file. oracle lite has many cab files for diffrent platforms, and at the end it renames them all to olite. this is what the help file says, it says to create a new platform the wince5 to copy the stdsdk500 and rename it to olite.cab and to fix the inf file which gives the initial parameters when the cab file is downloaded from the server webtogo->Setup page. so it is actually one cab that registers (dmagent) you device, msyncs(synchronizes) and one separate cab for the tools. 2 cabs in total.
so yes you are right that is is the platform problem. solutions:
solution number1:if you just want to try it out then since you have the db installed on the handheld what you need is the demoapp cab file only. find it in the olite home copy paste it in the handheld install it and run it. you hsould be able to play with the demo. logically since you msynced once you should msync again.
so based on the help file what you tried in the one that says
"Option Two: Copy the desired WCESTDSDK CAB file directly to the Mobile client from the <ORACLE_HOME>\Mobile\SDK\wince\<platform>\cabfiles\ directory. Each CAB file is named olite.<language>.<platform>.<chipset>.cab."
i recommend this only for testing, evaluation
solution number 2:solution1 doesnt mean that your device will be registered and you will not be able to see it in the mobile devices tab(and therefore execute commands, updates etc). in order to do that you must follow the help files instructions about creating the new platform. this is the correct way to do things (solution1 is kinda 'hack'-if you want to use the term)
this is what the help files:
Option One: Register the WCESTDSDK CAB file on the Mobile Server. The Mobile Server client setup page displays the predefined client platforms that you can download and install on your Mobile client device.
If you want the Standard SDK WinCE CAB files to be displayed on the Mobile Server client setup page, then register the desired platform in the Mobile Server. After registration, the Mobile client can download the SDK CAB file from the Client setup page."
i recommend this for development and production
so lets do it , it says:
register the desired platform in the Mobile Server.
ok this is kinda dificult but olite has a good note that you can follow. login in th support and
follow the steps carefully:
Oracle Lite - Version: 10.3.0.1.0 and later [Release: 10.3 and later ]
Information in this document applies to any platform.
The Goal of this Document is to register the Platform Oracle Lite WCESTD500 ARMV4I;US
using the olite cab file olite.us.stdsdk500.armv4i_sdk.CAB to avoid to get this error when the Device manager try to register:
Insufficient information to proceed; Error Code: Invalid platform: Wince: 400
1. Go into this directory:
2. Create the New Directories:
3. Using FTP in binary mode, copy the file olite.us.stdsdk500.armv4i_sdk.CAB
from Window MDK (can be found in Olite_home\Mobile\Sdk\wince\stdstk500\cabfiles directory).... to $ORACLE_HOME/mobile_oc4j/j2ee/mobileserver/applications/mobileserver/setup/us/stdsdk500/armv4i
then rename it as olite.cab.
4. Verify that you have the file std500.inf into
5. Create an INI file that refers to the INF file for this platform:
vi ppcstd500.ini (unix) or notepad (Windows
Oracle Lite WCESTD500 ARMV4I;US
[PLATFORM.Oracle Lite WCESTD500 ARMV4I;US]
6.Register the platform with the device manager loader script, as follows:
$ORACLE_HOME/mobile/server/admin/dmloader mobileadmin/manager@jdbc:oracle:thin:@suppolite1.fr.oracle.com:1521:V10GR3 ppcstd500.ini
Usage: dmloader username/password@jdbcurl filename
7. Copy the file setup_us.exe and zlibce.dll from the MDK: %ORACLE_HOME%\Mobile\Sdk\wince\stdsdk500\dmc\armv4i to the Mobile Server:
8. Restart the Mobile Server to take in account the new Mobile Client.
did it work?
ifit works then you will have a new platform, point the app to the new platform through the webtogo page, clean the handheld and install the new cab from the webtogo->setup page by selecting your newly created wcestd500 platform
btw tell your boss to buy some 6.5 devices,they are much better,more stable.win ce 5 is way too old. wince5 platform is not predifined in olite and this is why you must do all these things. if you were using win mobile 6+ life would be easier.
Thank u vasileios. It's working. I created a database 'POLITE' with a table 'PRODUCT' from the device and I built a Java-JDBC application to update the table. I run the application from the device, working fine. The application is using system/manager as the credentials. Please explain me the synchronization procedure. I understand the synchronization as below. We have two databases, one Oracle Lite in the device(POLITE) and other lies with the system installed Oracle 10g/11g. I have a PRODUCT table in system with Oracle 10G/11G, and same in Oracle Lite(POLITE). After performing some updations on Oracle Lite PRODUCT table, when I msync, it should actually go and update PRODUCT table in Oracle 10g/11g, right?
In the Oracle 10g/11g, I do not have PRODUCT table, but when I say msync from the device it's saying msync done successfully. And that too I do not have schema system/manager in the Oracle 10g/11g. Please clarify me, I could not understand this sync process.
ok good for you, but as i said the second solution that oracle suggests is the appropriate one for wince5 platform. in your question,ill explain
how you make olite work in a few lines and you will understand the sync process:
1) i create a new schema in oracle 11g, lets say it courier
2) i create 3 tables there , lets say couriers and parcels and deliveries(apparently one courier has many deliveries of many parcels each )
3) i make sure all have primary keys.
4)i open the mobile database workbench (start->programs->olite->mdw)
5) i create a new project. then create new publication items one for each table, crate a publication and add the publication items to the publication
6)i change the query from the pub items and set a variable something like select .... where couriercode:=myCourierCodeVariable.all pub items must be fast refresh
7)save the project
8)open the packaging wizard, create a new application definition. select the publication you created with the mdw. publish at the end to the server.
9) open the webtogo page. login. create a new user group. create a user and add him to the group.
10)go to the tab named applications select your application(the one you created with the packaging wizard) and give access to the group.
11)select the data subsetting. you see the user.now each time you place a user in the group he takes access to the app also. select him. you see the myCourierCodeVariable
12)enter his code lets say if nvarchar '123'
13)now if this guy synchronizes he will download ONLY the deliveries and parcels that are for him , and not all the deliveries of all the couriers.
14)open the handheld, go to the webtogo page->sync select your platform ,install the client. run the msync, use your user credentials.
15)install the tools cab. run the msql. you see in the sdcard or in the olite folder in the handheld that there are 2 files name conscli and 2 named with
the same name of your publication (the one you created in the packaging wizard). in the msql tool you see a combobox with conschli and your publication
16)select your publication, enter the password of the user leave the username as it is. use the msql tool to check the tables.
17a)now you have a database in the server with 3 tables couriers,deliveries and parcels. in the handheld you have a diffrent database named as the publication
you created with also 3 tables as the publication items you created. since you palced them as fast refresh, every time something is inserted in the server the olite mgp checks if it is for the user(it checks the query in the publication item).if the new line or the change is in the query results, the mgp places it
in the out queeu. you can check it from webtogo page. if the handheld syncs it will retrieve whatever is in the outqueue for the specific user.the changes will be applied in the handheld db
17b)on the handheld, if i make a change and sync, the change will be placed in the in queue. when the mgp runs, it will apply the changes on the real tables.
if an error occurs it will place them on the error queue. advice:the error queu is the ceq table in the oracle11g, so if you have atable couriers olite will create a ceq$couriers. make a trigger there, if something is entered send an email to the administrator.
so although the schema on the server is named something, on the handheld the dabatase and the credentials are diffrent. BUT when you sync ,olite knows what to do based on the publication items queries and on its other sets of tables like the ceq,cfm and something. the user you created in the webtogo page doesnt exist
in the database, he is just a mobile user. also the schema on the server database doesnt exist anywhere in the olite.but still if you place something in the
handheld deliveries table,olite knows that they must be placed in the server in the publication items table, whatever the query says.
simple?(hope i didnt forget any step).so now you know how and why olite syncs, do your own example.
the example demo works pretty much the same way.
After login into Mobile Server, In "Data Synchronization->Events->Synchronize when AC power is detected" has been checked for WINCE, but when I put the device into the cradle with AC Power supplied, synchronization is not being happened. Is it required to run msyns manually every time we would like to sync?
first of all when you change some kind of setting like this on the server , the client must receive it and apply it. i recommend that you update your handheld client.
to be honest i havent tried the specific setting that you mention , if it doesnt work you should open a service request in the oracle support. i know that people often use auto sync settings like synchronize when battery drops under a specific %.
of if you have applied an auto sync event as you mention and if you have all the latest patches installed then go in the mobile devices->select your device->properties: address enter the ip address of the handheld if one exists,network provider:http. if the handheld doesnt have an ip its ok.
go in the commands tab and select the update device management client. press send now. the handheld should take the command if you entered the correct ip (with the olite listening port).if it nothing happens and you see the command in the command history tab as pending then connect the handheld to the network (e.g. cradle) and click the olite phone icon(the dmagent.exe) it should start updating the olite client on the handheld. normally if you entered the correct ip and you have the latest patch installed the command would be sent directly. i insist on the patch because i had found a bug on this specific function and i had opened an sr and oracle had fixed that (at least for win mobile 6+, bug commands are not pushed by server).
if you do this client update, then try again with the cradle to see if it works. in your question if it is required to run msync, normally the events should work. moreover you can initiate server side sync by selecting the synchronize databases command from the mobile devices->command. another way is that you place a timer in your app and you manually invoke the synchronize every lets say 20 mins or something.
I think client is updated successfully. In the command history, Update device management client was recorded with status message "Completed". And I tested it after inserting the device into cradle, but no sync had happened.
on the handheld open the dmagent, there in the options you hsould be able to see the start (i think button) which is the start automatic sync, once you press it what does it say?make sure dmagent is running on the handheld.
22.214.171.124 Start or Stop Automatic Synchronization
126.96.36.199.1 Event Rules for Platforms
5.4.2 Start, Stop, or Get Status for Automatic Synchronization
you do have the latest patches right?
if you follow the help and still nothing happens then possibly you run onto a platform bug for the wince 5 platform. open a service request with oracle support.
Edited by: vasileios on Feb 29, 2012 6:40 AM
i did some digging for you on oracle support and came across the following article:
it appears that for 10.3.0.1 this power rules doesnt work for wince5, i would guess that they wont work for 10.3.0.3
Problem : AutoSync Feature Does Not Work Properly with Windows Mobile CE .NET 5.0
AutoSync Feature Does Not Work Properly with Windows Mobile CE .NET 5.0 [ID 461676.1]
Modified 26-AUG-2010 Type PROBLEM Status ARCHIVED
In this Document
Oracle Lite - Version: 10.3.0.1.0 to 10.3.0.1.0 - Release: 10.3 to 10.3
Information in this document applies to any platform.
Autosync reports that it is waiting on condition, although the condition
which should have started the autosync process has been met.
The problem is that we don't support power managment on Standard Sdk 5.0
platform (which is the same as CENet 5.0). The reason is that the power apis
are not supported in the sdk for that platform. We do support power
managment for Windows Mobile 5.0, pocket pc 2003 and Win32.
If you are using only standard sdk 5.0 devices you can remove the power rules from
the mobile server as they are not gonna work anyway.