Oracle.lite.sync.Consolidator.PubItemProps = isLogBased ?

Hi All,
I am a little confuse about isLogBased.
Doc said:
isLogBased
If true, log based (automatic) publication item will be created
Does it mean that if isLogBased = true, then Oracle Lite does not use trigger process, but capture data
in redo logs (like streams) ?
Of course this does not work whith Standard Edition main db , only with enterpriseEdition ?
If it is clear for you, thak you for your clarification.
All the best.
Fabrice

Hi all,
I was completely lost.
Setting "isLogBased" to True enables automatic sync for a pub item.
The following example uses the automatic synchronization version of createPublicationItem method, which uses the PubItemProps class to define all publication item definitions, including automatic synchronization, as follows:
PubItemProps pi_props = new PubItemProps();
pi_props.owner = "MASTER"; // owner schema
pi_props.store = STORES[0]; // store
pi_props.refresh_mode = "F"; //default // uses fast refresh
pi_props.select_stmt = // specify select statement for snapshot
"SELECT * FROM "+"MASTER"+"."+STORES[i][0]+ " WHERE C1 =:CLIENTID";
pi_props.cl2log_rec_stmt = "SELECT base.C1 FROM " // client sub-query to
+ "MASTER"+"."+STORES[i][0] + " base," // return unique clientids
+ "MASTER"+".CLG$"+STORES[i][0] + " log"
+ " WHERE base.ID = log.ID";
// Setting "isLogBased" to True enables automatic sync for this pub item.
pi_props.isLogBased = true;
// If doChangeNtf is true, automatic publication item sends notifications
// from server about new/modified records
pi_props.doChangeNtf = true;
cm.createPublicationItem(PUBITEMS[i], pi_props);
cm.addPublicationItem(PUB,PUBITEMS[i],null,null,"S",null,null);
Regards.
Fabrice

Similar Messages

  • Oracle Lite Sync error

    Im getting the following error when sync. ???? Cant trace it please help
    Sync session exception stack trace:
    java.sql.SQLException: ORA-00932: inconsistent datatypes: expected DATE got NUMBER
         at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:189)
         at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:242)
         at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:554)
         at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1478)
         at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:888)
         at oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.java:2077)
         at oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.java:1987)
         at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2704)
         at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:458)
         at oracle.lite.sync.Subscription.execPrepUpdate(Unknown Source)
         at oracle.lite.sync.DmlProcessorM.executeInsertUpdate(Unknown Source)
         at oracle.lite.sync.DmlProcessorM.executeInsertUpdate(Unknown Source)
         at oracle.lite.sync.DmlProcessorDB.reExecuteDml(Unknown Source)
         at oracle.lite.sync.DmlProcessorDB.flushIs(Unknown Source)
         at oracle.lite.sync.HeliosSession.startSession(Unknown Source)
         at oracle.lite.sync.resume.Client$1.run(Unknown Source)
         at oracle.lite.sync.resume.ThreadPool$PoolTask.run(Unknown Source)

    I know the Database Mobile Server (inc. legacy Database Lite) forum doesn't get a lot of traffic but it really is the best place to ask Lite questions. It is an entirely different product from the real database and as such requires specialist knowledge.
    At the very least you should cross-post these questions there. I'm not normally a fan of duplicate postings but I make exceptions for these cases.
    Good luck, APC

  • How to cancel a transaction in Oracle Lite 10g R3

    Hi,
    I have a publication with 7 publication items (updatables), Server wins in any conclict.
    I made some changes in some records of the 7 tables of my oracle lite database.
    I synchronize the changes, without any error messages, But I cannot find those changes in the tables in my oracle database (9i).
    So, I check in the Mobile Manager, in the Data Synchronization/Repository/Input Queue.
    I find the transaction #203 with all the publication items.
    I also find an error in the "Error queue", It seems like there was a conclict in one of my publication items. So I choose the option "Take value from server", then the error disapear from the "Error queue". However, the transaction stay in the "Input queue".
    I made other changes to the tables in the database lite, and then synchronize. But It seems like nothing happens, there isn´t any other transaction in the "input queue", and I cannot fin all the changes I made in my database (9i).
    Can anyone help me????
    Regards, Santiago

    I found this messagein the MGP History User
    Applied Record     Counts:
    Insert Count     = 3
    Update Count     = 6
    Delete Count     = 0
    Applied PubItems:
    TECNICO
    SUSCRIPTOR
    LISTA_MATERIALES
    LIQCLI
    VALORAC_ACTIVIDADES_OPE
    CARGA_DEMANDADA
    DESCSOL
    TECNICO
    SUSCRIPTOR
    LISTA_MATERIALES
    LIQCLI
    VALORAC_ACTIVIDADES_OPE
    CARGA_DEMANDADA
    DESCSOL
    TECNICO
    SUSCRIPTOR
    LISTA_MATERIALES
    LIQCLI
    VALORAC_ACTIVIDADES_OPE
    CARGA_DEMANDADA
    DESCSOL
    Compose Error:
    java.lang.Exception: MGP apply_before_compose aborted and compose postponed for SGARCIA as apply will generate sync errors
         at oracle.lite.sync.Consolidator$O8Server.fastPush(Unknown Source)
         at oracle.lite.sync.MGP$MGPG.run(Unknown Source)
         at java.lang.Thread.run(Thread.java:534)
    /*********************************************/

  • Oracle Lite not working

    Definitely I can't make it to work.
    I get allways this error : ORA-12537 (TNS Connection closed) with SQL Plus.
    I use Login "system", password "system", host "webtogo.world"
    I tried also login "system", password nothing; or password "master", or "change_on_install"
    When I start webtogo at I get this info :
    H:\Ora9i\Mobile\Server\bin>webtogo
    log1: Translated JDK:'Cp1252' to IANA: 'WINDOWS-1252'
    log1: desktop 1521
    And hangs, doesn't go to the command prompt
    What's wrong ? I don't understand nothing about Oracle Administration, I'm just a developer, help me
    my configuration is this :
    My computer IP : 192.168.0.104
    My computer name : desktop
    Oracle Home : H:\Ora9i
    TNSNAMES.ORA
    WEBTOGO.WORLD =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS =
    (COMMUNITY = tcp)
    (PROTOCOL = TCP)
    (Host = 192.168.0.104)
    (Port = 1521)
    (CONNECT_DATA = (SID = WEBTOGO)
    LISTENER.ORA
    LISTENER =
    (DESCRIPTION_LIST =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = desktop)(PORT = 1521))
    SID_LIST_LISTENER =
    (SID_LIST =
    (SID_DESC =
    (GLOBAL_DBNAME = webtogo.world)
    (ORACLE_HOME = H:\Ora9i)
    (SID_NAME = webtogo)
    SQLNET.ORA
    NAMES.DEFAULT_DOMAIN = 192.168.0.104
    USE_DEDICATED_SERVER = on
    NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
    WEBTOGO.ORA
    [WEBTOGO]
    USE_SYSTEM_CLASSPATH = YES
    MODE = SERVER
    PORT = 1521
    #IAS_MODE=NO
    ORACLE_HOME=H:\Ora9i
    BASE_URL=/webtogo
    ADMIN_TNS_NAME=WEBTOGO.WORLD
    ADMIN_JDBC_URL=jdbc:oracle:oci8:@WEBTOGO.WORLD
    APPLET_USE_THIN_JDBC = YES
    THIN_JDBC_URL=jdbc:oracle:thin:@::
    SITE_OFFLINE_PERIOD=0
    CUSTOM_WORKSPACE=no
    CUSTOM_DIRECTORY=myworkspace
    DEFAULT_PAGE=myfirstpage.html
    ROWS_PER_PAGE_IN_ADMIN_TOOL = 25
    [EXTERNAL_AUTHENTICATION]
    #CLASS=com.acme.SampleAuthenticator
    # Web-to-go workspace's font
    FONT_NAME=Arial
    [FILESYSTEM]
    TYPE=OS
    ROOT_DIR=H:\Ora9i\mobile\server\repository
    #TYPE=O8
    #TYPE=OL
    #TYPE=OS
    # Cache size in MBs
    #CACHE_SIZE=10
    MAX_CONNECTIONS=4
    [DEBUG]
    TRACE_ENABLE=Yes
    # There are 3 trace levels: basic (1), sql (2), java method (4)
    # The TRACE_LEVEL value will be used to do "Bitwise AND" against these
    # 3 levels to decide if trace of any particular level should be printed.
    # For example, 1 for only basic level, 7 for all levels, 3 for basic and sql
    # but not java methods.
    TRACE_LEVEL=1
    # This is comma seperated list of valid user names. Empty string indicates
    # tracing all users, "TRACE_NO_USER" indicates tracing no user.
    TRACE_USERS=
    # The trace output can be FILE, CONSOLE, or REMOTE.
    TRACE_DESTINATION=CONSOLE
    # Value to be used if trace destination is FILE.
    # The base name for the trace file
    TRACE_FILE_NAME=trace.log
    # Maximum file size in MB
    TRACE_FILE_SIZE=10
    # Maximum number of trace file to be used.
    TRACE_FILE_POOL_SIZE=5
    # Does every user have her own file pool?
    TRACE_FILE_PER_USER=No
    # Value to be used if trace destination is REMOTE.
    # Machine name and port where wsh.exe -m is running. Web-to-go
    # will send debug output to that machine.
    #TRACE_REMOTE_MACHINE=
    TRACE_REMOTE_PORT=2000
    [APPLICATIONS]
    XMLFILE = ws1.xml
    PACK_HELP=H:\Ora9i\mobile\doc\wtg\html\wtgdep.htm
    [PUBLIC]
    oracle.lite.sync.ConsolidatorServlet=/Consolidator
    [CONSOLIDATOR]
    # Installer will change these values
    SERVER_VERSION=8.1.7
    # 8.1.7
    # Installer won't change these values
    MAX_THREADS=3
    JDBC_DRIVER=oracle.jdbc.driver.OracleDriver
    CREATE_USER_OPTIONS_O8I=PROFILE CONSOLIDATOR_CLIENT_P DEFAULT TABLESPACE USERS QUOTA UNLIMITED ON USERS TEMPORARY TABLESPACE INDX QUOTA UNLIMITED ON INDX
    CREATE_USER_OPTIONS_O8=PROFILE CONSOLIDATOR_CLIENT_P DEFAULT TABLESPACE USR QUOTA UNLIMITED ON USR
    TEMPORARY TABLESPACE TEMPORARY QUOTA UNLIMITED ON TEMPORARY
    TEMP=H:\Ora9i\mobile\server\bin
    WTG_PROXY_PORT=80
    TRACE_ENABLE=Yes
    # There are 3 trace levels: basic (1), sql (2), java method (4)
    # The TRACE_LEVEL value will be used to do "Bitwise AND" against these
    # 3 levels to decide if trace of any particular level should be printed.
    # For example, 1 for only basic level, 7 for all levels, 3 for basic and sql
    # but not java methods.
    TRACE_LEVEL=1
    # This is comma seperated list of valid user names. Empty string indicates
    # tracing all users, "TRACE_NO_USER" indicates tracing no user.
    TRACE_USERS=
    # The trace output can be FILE, CONSOLE. Note REMOTE is not valid.
    TRACE_DESTINATION=CONSOLE
    # Value to be used if trace destination is FILE.
    # The base name for the trace file
    TRACE_FILE_NAME=mgptrace.log
    # Maximum file size in MB
    TRACE_FILE_SIZE=10
    # Maximum number of trace file to be used.
    TRACE_FILE_POOL_SIZE=5
    # Does every user have her own file pool?
    TRACE_FILE_PER_USER=No

    Hi
    There could be two reasons.
    1) You may be having classesXX.zip where XX can be 111 or 12 in the classpath.
    Remove this from your system classpath
    2) Check the symjit.dll and rename it to some other name in your system. This file belongs to XP and has some problems in running Java programs in P4.
    regards
    Yugandhar

  • Starting with Oracle Lite, help needed

    Hi everybody,
    I have a desktop application written in Java which connects to a Oracle 10g database and I want to use the same application on ultramobile devices under WinXP. These devices will use the application offline and then will synchronize with the DB.
    As far as I know, I need Oracle Database Lite on mobile devices for getting database snapshots and track offline changes. I want to know if I need to install the Mobile Server for managing data synchronization between mobile devices and DB.
    Do I need to develop a web-app for managing data synchronization or there is a easier way to sinchronize in this case using only the desktop application?
    Thanks in advance for your help and sorry for my poor English.

    You want to look at Win32 applications. There are APIs in multiple programming languages that utilize the Oracle Lite Sync API to sync, or you can just use the mSync tool.

  • Data not arriving in oracle lite using qbased syncing

    Hi,
    I am currently having difficulty adding new publication Items to our current queue based syncing in Oracle lite.
    I have set up the Queue using : createQueuePublicationItem
    I have set up the Index using : createPublicationItemIndex
    I have added the publication item using : addPublicationItem(
    I have added the user to the new PI using the screen.  This I think should be everything.  Unfortunately what happens is that the data gets as far as the out queue tables ie mobileadmin.ctm$ppec_pi for my new PI of ppec_pi.  But when I go onto the olite database on the client device, the new table is created, but there is no data.
    Is there something I am missing,
    Thanks,
    Justin.

    I did redefine the table, so all columns that are part of PK index and used in my SQL statement are data type NUMBER.
    My unique index is (dc_nbr, company_nbr, offering_group_id, offering_id), the same columns are used in my WHERE clause.
    Still Oracle Lite always builds the large temporary table before it goes to this temp table and sequentially reads and returns first 19 records.
    Trace File:
    Tid=060c, Statement Text:select dc_nbr, company_nbr, offering_group_id, offering_id
    from uoc.ship_dc_offering
    where dc_nbr = 6
    and company_nbr = 1
    and offering_group_id = '00001'
    and offering_id > '100129'
    and rownum < 20
    Table Order: UOCDB.UOC.SHIP_DC_OFFERING
    Tid=060c, Compilation Time: 0 (mil. sec.)
         Temporary Table Created: POL_WS_1_1
         Table Name: UOC.SHIP_DC_OFFERING
         Access Method:
         Term[0], Index No: 903266475, IndexName: UOC.POL_SYS_CONS20030
         Table Name: POL_WS_1_1
         Access Method: Sequential
    Tid=060c, First Fetch Time: 2323 (mil. sec.)

  • Views in Oracle Lite on Win32 Client

    Hi,
    I've created an Oracle Forms application to work with Oracle Lite on the Win32 Client. When creating the application using wtgpack on the Mobile Server, I successfully created snapshots for the 7 tables in the database. After synchronization (msync), all 7 tables are created in the client's Lite database and all data are available. The Oracle Forms application works perfectly.
    BUT: I have to add a view now, a very simple one, joining 2 of the 7 tables. I created this view in the Server database, and tried to use wtgpack to force the view creation on the client's Lite database. When selecting Web-to-Go in wtgpack's "Available Platform" window, a "DDL" tab appears. But my application isn't Web-to-Go platform, but Win32 only. The "DLL" tab is not available when selecting Win32 as platform. How can I force wtgpack to add my view to the application?
    I tried to add the view definition to the "dlls.sql" file in the \repository\app\sql directory .. but the client doesn't get it.
    I tried to create a snapshot in wtgpack (because when using "import" it only shows tables, not views) and type the view definition there .. but the client doesn't get it too.
    Any ideas how the view can be created on the client's Lite database?
    Thanks in advance!
    Dirk

    Dirk
    You dont need to do anything on the lite database.
    Here are the steps for pulling the data from enterprise database.
    1. Install the client -win32 sdk on the client machine. This is used to access lite database because it installs msql, lite drivers etc.
    2. Create snapshots using wtgpack. You can create all the Enterprise database snapshots, views, sequences etc.
    3. Generate the Jar file using wtgpack
    4. Publish the jar file in the mobile server.
    5. Create some users and give access to this application.
    6. Access the server from ur machine: http://[mobileserveripaddress]/setup
    7. Download the Mobile Client for Web-to-Go
    8. Run the setup.exe
    9. Enter using the username, password given to access this application.
    10. Click sync on the menu
    It automatically creates the database and pulls all the data.
    You dont need to do anything.
    Access the database from msql like this:
    msql system/[password]@polite:[urdatabase]
    or
    msql system/[password]@polite:[DSN]
    DSN gets created automatically. check ur ODBC settings.(enter odbcad32 on ur command prompt to see these settings)
    Refer the documentation..sometimes its hazy but its easy once we do it...
    happy weekend....
    Yugandhar

  • UTF8 support in Oracle Lite

    I looks to me like Oracle Lite doesn't support the UTF8 character set for storing data. Is this correct?
    I have an Oracle 8.1.7 database using UTF8 to store English, Thai, Chinese and Philippino data, and I want to synchronise that with Oracle Lite on Windows 2000 clients. The sync seems to work ok, but any non-english characters are lost in a characterset conversion (display as "?").
    Regards
    Steve

    I'm a bit confused by your reply. Can Oracle Lite store data in a unicode characterset such as UTF8? It looks to me like the "UTF-8 support" is limited to the drivers, so that it can load and extract utf-8 data, but not store it. From section 2.2.1 of the release notes:
    "Oracle Lite Database is NOT a NLS component. In order to reduce the kernel size, it is built for each language which supports native character sets for Windows. Which means, each language has each kernel. Here are the character sets supported by this release:
    - Chinese: MS936 CodePage (Simplified Chinese GBK, ZHS)
    - Taiwanese: MS950 CodePage (Traditional Chinese BIG5, ZHT)
    - Japanese: MS932 CodePage (Japanese Shift-JIS, JA)
    - Korean: MS949 CodePage (Korean, Ko)
    The database kernel for each language in this list only supports its corresponding character set. Other multibyte character sets are not supported."
    Also the documentation on the DBCharEncoding parameter you mention suggests that it only affects the UTF translation for java programs. Section A.2.3:
    "... Specifies the UTF translation performed by Oracle Lite. If set to NATIVE, no UTF translation is performed. If set to UTF8, UTF translation is performed. If this parameter is not specified, the default is UTF8. This applies to Java programs only."
    I've tried playing with these parameters, as well as changing the NLS_LANG parameter on the client, and for the mobile server, for the Oracle Lite home, all to no avail. I'm still losing the non-english data during synchronisation and it does look like it's being lost in a character set conversion rather than just being garbled, as each Thai characters is being replaced by the correct number of "?"s. As an example the Thai string "&#3610;&#3619;&#3636;&#3625;&#3633;&#3607; &#3610;&#3619;&#3634;&#3648;&#3604;&#3629;&#3619;&#3660; &#3588;&#3629;&#3617;&#3648;&#3617;&#3629;&#3619;&#3660;&#3648;&#3594;&#3637;&#3656;&#3618;&#3621; (&#3611;&#3619;&#3632;&#3648;&#3607;&#3624;&#3652;&#3607;&#3618;) &#3592;&#3635;&#3585;&#3633;&#3604;" on the 8.1.7 database sever appears as "?????? ???????? ?????????????? (?????????) ?????" on the oracle lite database.
    Am I missing something here? If I can get this data syncronising correctly then Oracle Lite looks like it will support all our requirments so any assistance would be greatly appreciated. (Should I post this to the globilization forum or does that focus only on Oracle's enterprise editions?)
    BTW, thanks for the info on the sorting. Obviously the characterset issue is more a fundamental problem at this stage, but if we can fix this then it's good to know about the sorting abilities.

  • Oracle Lite 4.01 cannot work??

    I've installed Oracle lite 4.0.1 with JDK 1.1.8,but it seems cannot work.
    When i connect to my consolidator from my consolitor admin,it get conencted my my oracle 8i but with
    oca -30021 :error preparing/executing sql statement
    pol -8035:no such attribute or method
    Can somebody tell me y??
    Please help.

    You require olite40.jar
    Here is a page on how to connect Jdeveloper to Oracle Lite:
    http://www.rekounas.org/olite/2007/02/01/how-to-setup-jdeveloper-to-connect-oracle-lite/

  • Cancel long running statement in Oracle Lite (OLITE_10.3.0.3.0 olite40.jar)

    On JDBC statement, there is the method 'cancel' to instruct the database to cancel an executing statement. This works fine on Oracle server database, but not on Oracle lite database. The method call 'cancel' just blocks and the running statement is never interrupted.
    The example I tried is very simple. There is a thread started which executes a long running statement. I noticed, that when moving the cursor forward by calling rs.next(), it just blocks. That would be ok, if the statement could be canceled from within the main thread by stmt.cancel. But this call blocks as well with no implact on the running statement. Why is that? Do I miss something or is it not possible to cancel a long running statements in Oracle Lite?
    In the following my code snipped:
    public class CancelStatement {
         private static final String PATH_DB = "XX";
         private static final String PATH_LIB = "XX";
         private static final String CON_STRING = "jdbc:polite:whatever;DataDirectory=" + PATH_DB + ";Database=XX;IsolationLevel=Read Committed;Autocommit=Off;CursorType=Forward Only";
         private static final String USER = "XX";
         private static final String PASSWORD = "XX";
         public static void main(String args[]) throws Exception {
              System.setProperty("java.library.path", PATH_LIB);
              Class.forName("oracle.lite.poljdbc.POLJDBCDriver");
              Connection con = DriverManager.getConnection(CON_STRING, USER, PASSWORD);
              Statement stmt = con.createStatement();
              Thread thread = new Thread(new LongStatementRunnable(con, stmt));
              thread.start();
              Thread.sleep(3000);
              // stop long running statement
              System.out.println("cancel long running statement");
              stmt.cancel(); // XXX does not work, as call is blocked until out of memory
              System.out.println("statement canceled");
         private static class LongStatementRunnable implements Runnable {
              private Connection con;
              private Statement stmt;
              public LongStatementRunnable(Connection con, Statement stmt) {
                   this.con = con;
                   this.stmt = stmt;
              @Override
              public void run() {
                   try {
                        System.out.println("start long running statement...");
                        // execute long running statement
                        ResultSet rs = stmt.executeQuery("SELECT * FROM PERSON P1, PERSON P2");
                        while (rs.next()) { // here the execution gets blocked
                             System.out.println("row"); // is never entered
                        rs.close();
                        stmt.close();
                        con.close();
                        System.out.println("long running statement finished...");
                   } catch (Exception e) {
                        e.printStackTrace();
    }I would be very glad if you could help me.
    Thanks a lot
    Daniel
    Edited by: 861793 on 26.05.2011 14:29

    Unfortunately Oracle Lite doesn't have this option. You can call your statement from a second thread as you have done, but you won't be able to kill or cancel this operation. The only way to get fix this is by rebooting. You can use process explorer to find the dll process that is executing the SQL, but the tables will be locked and sync would be locked as well until the process is finished running in shared memory.

  • Help: Oracle lite 10.3.0.1.0 and symbian 9 s60

    Greetings,
    I installed the oracle litle server, I have a client installed windows 32, and synchronizes works, the problem is when I want to install a client for symbian,
    first how to enable the client for Oracle Lite Symbian OS v7 and OS v7/UIQ2.1 in mobile server, to make install from the client gives me an internal error (http://serverlite:8080/webtogo/admin/console/setup/),
    download the patch from the metalink and downloads from oracle downloads area (the same, Oracle Database Lite 10g Release 2 (10.2.0.1.8) Mobile Client for Symbian 9 ), I installed olite_core.sis Successfully
    and there is where I do not run in phone nokiea E61, and install msync other utilities on the phone nokia E61, but is not doing as synchronization
    the question is:
    -exist patch for oracle lite 10.3.0.1.0 and symbian 9 s60
    -how to enable client for symbian 9 s60 in oracle lite server 10.3.0.1.0
    -how to sync from client nokia E61i, with msync and others tool in the oracle lite server
    -where install olite_epoc.zip (in the phone or the IDE developer and SDK nokia)
    my plattform:
    server: Windows XP and Oracle lite 10.3.0.1.0 Server
    Client1: windows xp client windows 32
    Clientn: Phone Nokia E61i with symbian 9 s60
    Roy Ayala Galvis
    java developer - mobile developer

    Hi Roy,
    For symbian 9 you have downloaded the correct binaries,there is no other patch for symbian.You should be able to sync symbian client database with 10.3.0.1 server.
    Make sure that server is in the public network otherwise GPRS based synchronize does not work.
    Use the example application user as s11u1 to get the syn examples working with mobile server.
    Synchronization from E61i will also work , but dialogues messages in the UI will not displayed properly
    Olite_epoc.zip should be installed in IDE/SDK, not in the phone .
    Please read the documents for symbian in the meta-link.
    If you have any question or doubts, please contact us (oracle lite team)
    Arjun kumar
    email id - [email protected]

  • Oracle lite mobile cliet setup

    hi
    i have installed java 1.5 update 15 in windows xp service pack 2 system. Then installed Fresh client set up and data download of oracle lite 10g R3,after installing i got a shortcut in my deskstop of web-to-go.This web-to-go is not opening and showing an error "cannot display the content".
    but i went to E:\mobileclient\bin in command prompt and typed "webtogo -d"... now it works but when i close the command prompt again my we-to-go is not working...then i started the service od webtogo. now it is working fine. what does the "webtogo -d" command is doing??? plz anyone tell me.....
    Thanks in advance
    Edited by: 793097 on Sep 8, 2010 12:50 AM

    currently only the client 5.0.2.10 database runs on Linux Advanced Server 3.0, but not sync tools. What runs on Lunix is the Mobile Server. In future releases the full Lite stack will run on Lunix.

  • Jsf application with oracle lite webtogo

    hello...
    i have developed an application using jsf-adf bc technology in jdeveloper and then deployed it on mobile server.During development connected it to a oracle database .Before deployment changed the database connection to oracle lite using jdbc:polite:webtogo in application module configurations.But this application when opened in oracle lite client OC4J is not showing up.Please tell me how the connection has to be made to oracle lite database before deployment in jdeveloper so that the application works on the oracle lite OC4J client.

    Could u please tell me where to give the code u have mentioned.I have developed using jsf adf/bc and before deployment changed the application module configurations to oracle lite database connections.After i synced,i have got the application to the client.when i click on the link,Its giving me the following errors:
    500 Internal Server Error
    JBO-30003: The application pool (model.AppModuleLocal) failed to checkout an application module due to the following exception:oracle.jbo.JboException: JBO-29000: Unexpected exception caught: oracle.jbo.JboException, msg=JBO-29000: Unexpected exception caught: oracle.jbo.JboException, msg=JBO-29000: Unexpected exception caught: oracle.jbo.DMLException, msg=JBO-26061: Error while opening JDBC connection.     at oracle.jbo.common.ampool.ApplicationPoolImpl.doCheckout(ApplicationPoolImpl.java:1954)     at oracle.jbo.common.ampool.ApplicationPoolImpl.useApplicationModule(ApplicationPoolImpl.java:2756)     at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:426)     at oracle.jbo.http.HttpSessionCookieImpl.useApplicationModule(HttpSessionCookieImpl.java:258)     at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:397)     at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:392)     at oracle.adf.model.bc4j.DCJboDataControl.rebuildApplicationModule(DCJboDataControl.java:1550)     at oracle.adf.model.bc4j.DCJboDataControl.beginRequest(DCJboDataControl.java:1408)     at oracle.adf.model.binding.DCDataControlReference.getDataControl(DCDataControlReference.java:99)     at oracle.adf.model.BindingContext.get(BindingContext.java:465)     at oracle.adf.model.binding.DCUtil.findSpelObject(DCUtil.java:280)     at oracle.adf.model.binding.DCUtil.findSpelObject(DCUtil.java:248)     at oracle.adf.model.binding.DCUtil.findContextObject(DCUtil.java:383)     at oracle.adf.model.binding.DCIteratorBinding.<init>(DCIteratorBinding.java:127)     at oracle.jbo.uicli.binding.JUIteratorBinding.<init>(JUIteratorBinding.java:60)     at oracle.jbo.uicli.binding.JUIteratorDef.createIterBinding(JUIteratorDef.java:87)     at oracle.jbo.uicli.binding.JUIteratorDef.createIterBinding(JUIteratorDef.java:51)     at oracle.adf.model.binding.DCIteratorBindingDef.createExecutableBinding(DCIteratorBindingDef.java:277)     at oracle.adf.model.binding.DCBindingContainerDef.createExecutables(DCBindingContainerDef.java:296)     at oracle.adf.model.binding.DCBindingContainerDef.createBindingContainer(DCBindingContainerDef.java:425)     at oracle.adf.model.binding.DCBindingContainerReference.createBindingContainer(DCBindingContainerReference.java:54)     at oracle.adf.model.binding.DCBindingContainerReference.getBindingContainer(DCBindingContainerReference.java:44)     at oracle.adf.model.BindingContext.get(BindingContext.java:491)     at oracle.adf.model.BindingContext.findBindingContainer(BindingContext.java:327)     at oracle.adf.model.BindingContext.findBindingContainerByPath(BindingContext.java:641)     at oracle.adf.model.servlet.ADFBindingFilter.isPageViewable(ADFBindingFilter.java:532)     at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:301)     at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:17)     at oracle.lite.web.CheckSessionFilter.doFilter(Unknown Source)     at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:627)     at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:376)     at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:870)     at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:451)     at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:218)     at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.HttpRequestHandler.run(HttpRequestHandler.java:119)     at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.HttpRequestHandler.run(HttpRequestHandler.java:112)     at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)     at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)     at java.lang.Thread.run(Unknown Source)

  • Conflicts resolution methods in Oracle Lite

    Can anyone please provide the answers of the following questions?
    1_What Methods are used for Conflict detection and resolution for concurrent updates by multiple clients in Oracle lite databases?
    2_ Is there any method that extract semantic relation from the concurrent update transactions and create a global update schedule?
    3_ Does oracle lite use conflict avoidance mechanism?
    4_ What replication method is used by Oracle Lite Database?

    In terms of conflict resolution with oracle lite, which end do you mean? conflict resolution in the client database (ie: oracle lite) or on the server side when processing client uploads (this is just a standard oracle database), also not sure what you are trying to achieve
    *1_What Methods are used for Conflict detection and resolution for concurrent updates by multiple clients in Oracle lite databases?*
    I assume in the following that you are talking about dealing with uploads
    Depending on how the publication items are defined, the process is quite different.
    a) fast refresh publication items
    When the client synchronises, the upload data is uploaded as a packed binary file which is then unpacked and inserted into in queue tables in the mobileadmin repsitory (table names begin CFM$ followed by the publication item name). This is the only action that happens during the actual sync process.
    A second and independent process, not linked to the actual synchronisation - the MGP process, runs on the mobile server, and this has three phases - apply, process logs and compose that run one after the other. You can set the MGP to only do the apply phase, or all three.
    during the apply phase the data in the in queue tables for a particular user/transaction will be applied to the server database. Normally the MGP process is set to have three threads (this can be changed, but three is the default), and therefore three client uploads will be processed in parallel, but each of these threads is independant of the others and therefore should be seen as seperate transactions.
    It should be noted that even if you have 50 or 100 users synchronising concurrently, only three upload sets will be processed at any one time, and almost certainly a period of time after the synchronisation has completed (may be many hours depending on the MGP cycle time)
    As each of the apply threads is a seperate transaction, there is no concept of concurrency built in, and the only conflict resolution by default is based on the server wins/client wins setting of the publication item. where multiple users are updating the the same server record with 'client wins', the first user will update the data, and then the next user will update the data (just a repeat of the previous one). NOTE also that in the case of an update, ALL columns in the record are updated, there is no column level update.
    There are customisation options available to provide finer grained control over the apply process, look at the PLSQL callback packages registered against each publication item for beforeapply, afterapply, beforetranapply and aftertranapply, Apply DML procedures against the publication items and also the CUSTOMIZE package at the MGP level
    b) complete refresh publication items
    where the publication as a whole has a mixture of fast and complete refresh publication items, these normally work in the same way as the fast refresh described above. Where however you just have complete refresh items the data MAY be written directly to the server table on upload
    c) queue based publication items
    These work in realtime, rather than with a delay for the MGP process to pick up the data.
    When the user synchronises, the uploaded data is is written to the in queue tables in the same way, but when this is completed, a package (defined as part of the publication definition) is called, and the procedure upload_complete is run passing in the user and transaction identifiers. This package needs to be hand crafted, but you have full control over what and how all of the uploaded data is processed, but again this is a single transaction for that user. If you want to look at other sessions running, you need to find a way to implement this.
    *2_ Is there any method that extract semantic relation from the concurrent update transactions and create a global update schedule?*
    As noted above, the uploads may be processed in parallel, but they are seperate transactions, so no built ins
    *3_ Does oracle lite use conflict avoidance mechanism?*
    Only the basic oracle stuff, unless you use the customisation options to write your own
    *4_ What replication method is used by Oracle Lite Database?*
    The different types of publication items select data from the server database for download in different ways
    a) fast refresh
    change logging tables and triggers are created in the server database. These are scanned during the MGP process logs phase to determine what changes have happened since the last MGP compose, and what publication items they affect. The MGP compose then runs and this uses the same three threads to process the users in alphabetical order using the change keys to populate data in out queue tables (prefixed CMP$) in the repository. These have the PK values for the data, plus a transaction types (insert/update/delete). All the MGP process does is populate these out queue tables.
    When the user synchronises, the data in the out queue tables is used as a key list to extract the data from the actual server tables into a packed binary file, and this is sent to the client.
    b) complete refresh
    there is no pre-preparation in this case, the data is streamed directly from the server database into the packed binary download file
    c) queue based items
    in real time when the user is synchronising after the apply has been done by the uploade_complete procedure, a second procedure download_init is called. Within this you have to code the data extract, and MUST populate tables (you also need to create them) CTM$<publication item name> these are effectively out queue tables, but contain all of the data, not just the PK values. At the end of the procedure, the data is streamed from these into the binary file for download.
    Depending on the definition of your apublication, you could have one or more of the above types (VERY bad idea to mix queue based and fast refresh unless you are very sure about what you are doing) and therefore there may be a mix of different actions happening at different times
    In conclusion i would say that try and send seperate data to clients so that they do not interfere with each other, and for inserts use uniqueue keys or sequences. If you MUST send the same data to different clients for update, then the queue based approach provides the best control, but as it is real time is not as scalable for large data sets.

  • XE for Oracle Lite

    Is it possible use Oracle XE as back-end Oracle database for Oracle Lite clients?
    And how about java support?

    Technically it would depend on what dependencies the sync server that Oracle Lite uses. I believe that it has java dependencies, so probably not. I will check with the Oracle Lite developers.
    From a license point of view, we will have to decide. Given that we don't see XE as suitable for a master in a replication environment, I doubt that we will see it as suitable for the equivalent functionality in an Oracle Lite environment

Maybe you are looking for