Thursday, June 22, 2006

OAS HostName?!

We installed Oracle Lite 10g R2 on top of OAS 10g R2, everything seems going well, but when we shipped the same installation to our client, we noticed a hostname problem in their environment:
When you access http://sun1.something.com:8080/webtogo, you will get a 301 with hostname changed, http://sun1:8080/webtogo. This is NOT a problem if both fully qualified hostname and non fully qualified hostname are accessible to you. But it will be a problem, if you can only access the fully qualified hostname.
After spending some time to research on this hostname problem, finally we found the solution:
If you already installed OLite on top of OAS, then edit the httpd.conf file for OHS, which is an Apache server, change the ServerName to fully qualified hostname.
If you are trying a fresh installation, remember to put OUI_HOSTNAME=fully-qualified-hostname parameter in the command line you start the OAS installation, for example:
./runInstaller OUI_HOSTNAME=sun1.something.com

Tuesday, June 13, 2006

Oracle Lite 10.2.0.2.0 access control db (conscli.odb)

From the first day I started using Oracle Lite, I was always wondering how can I view the content in the conscli.odb. Today after some reading and trying, I found out a way to access it via mSQL.
First go to your WINDOWS\ODBC.INI find out the name of the conscli DB name for example: DLIU_conscli.
Then use the following command to access it, the default username/password is: SYSTEM/MANAGER:
msql SYSTEM/MANAGER@jdbc:polite:DLIU_conscli

UPDATE (Jan. 25th, 2007): when using msql to connect your own odb, remember always use SYSTEM as the username, otherwise you may get the following error:
[POL-5246] user DLIU does not exist

Monday, June 12, 2006

Oracle Lite 10.2.0.2.0 master detail table sychronization problem

When sychronizing master detail table (both inserts) to Oracle Lite 10.2.0.2.0, we saw the following error on the mobile server administrator console:
integrity constraint violated - parent key not found
It definitely means that the foreign key constraint problem. Reviewing the table weight on our publication items, it seems they are set correctly. But the log revealed that the mobile server put the child insertion intot the queue first.
Finally, we found some clue from this post on OTN forum.
After download patch 5054276 from metalink and installed it on top of Oracle Lite 10.2.0.2.0, the problem is solved.

Strange behaviour of VS2005 when adding file to Smart Device Cab Project

I am not sure whether I am missing anything in my procedure, but I noticed a pretty bazzare behaviour in VS2005.
I have a Smart Device Cab Project in my solution.
The NOT working process:
I double click my solution to open Visual Studio 2005, when I right click my Smart Device Cab Project select add file, it will end up without adding the file to the project, but there is no error either.

The workaround process:
If I first open Visual Studio from start menu, then open my solution in VS2005, the adding file will work like a charm.

Similar thing will happen to Setup Project.

I am not sure whether I am missing anything.
BTW: I have ReSharper 2.0 installed on top of VS2005 Team suite.

Saturday, June 10, 2006

Cab self delete after installation on WM5.0

To make Cab self deletion happen on WM5.0, you need to make sure the following WM5.0 registry entry values are set correctly:
[HKEY_LOCAL_MACHINE\Software\Apps\Microsoft Application Installer]\nDynamicDelete=2, my Dell Axim X51v default with this value.
[HKEY_CLASSES_ROOT\cabfile\Shell\Open\Command]=wceload.exe "%1", my Dell Axim X51v default with wceload.exe "%1" /nodelete

Please refer to my earlier entry on how to change WM5.0 registry.

Friday, June 09, 2006

olite.key in Oracle Lite (10.2.0.2)

In one of my current projects, we are using external authenticator mechanism coming with Oracle Lite to authenticate with some existing authentication Webservice. During our test, we ran into an interesting finding of Oracle Lite authenticator machanism: the olite client download from one mobile server contains a key file: olite.key, which contains a public key specific to THE mobile server where you download the olite client. When you synchronize with that specific mobile server with the corresponding olite.key existing on the client, the external authenticator will be triggered. Otherwise, the extrenal authenticator will not be triggered and the sync will end up in failure.
With that observation, we concern that some changes on the mobile server will cause all the existing mobile clients need to re-download and re-install the olite client. To get over this concern, we went over all the Oracle Lite documentation and searched metalink, neither of them ever mentioned this olite.key file. We also opened a TAR in metalink, there was little help either.
Fotunately, we did our own work and made some findings, (the following summary is based on my tests, there is no guarantee):
When you plug external authenticator into Oracle Lite Mobile Server, the mobile server will generate a key pair (public and private keys) and encrypted them into a file: olite.key, which is saved into mobile server application devmgr directory. When client download from the mobile server, the public key part will be pulled down to client saved into a olite.key file on client side. This key pair will control whether the external authenticator will be triggered or not.
You may ask what factors contribute to this key pair. We found that ORACLE_HOME, HOST_NAME are used to generate the keypair.

Pocket PC Windows Mobile 5.0 Registry Edit

Want to view PocketPC Windows Mobile 5.0 registry?
Want to edit PocketPC Windows Mobile 5.0 registry like using regedit on desktop?
Try the Remote Registry Editor coming with Visual Studio 2005.

Start->All Programs->Microsoft Visual Studio 2005->Visual Studio Remote Tools->Remote Registry Editor.