cancel
Showing results for 
Search instead for 
Did you mean: 

Changing persitence FileI/O to DB2e

Former Member
0 Kudos

Hi,

The persistence of my app was development withFile I/O. Now, we want use DB2e. I would like to know, if it's need just do the download of the ADD-ON for DB2e or it's necessary change something in my persistence? We are using Smart Sync.

Thanks.

Message was edited by:

Fabricio Domingos Robim Cordeiro

Accepted Solutions (0)

Answers (2)

Answers (2)

kishorg
Advisor
Advisor
0 Kudos

Hi Fabrico,

After downloading the files for DB2E , just unzip its contents .From this just check the install.xml file.

In this , u can see the installation instruction ,

<TASK name="Manipulate property file">

<SET_PROPERTIES source="/props/db2e.configuration" target="%MI_HOME%/settings/MobileEngine.config"

mi_running="false"/>

</TASK>

This instruction is used to set properties in your MobileEngine.config file.The properties which are to be changed are written in one configuration file (db2e.config ) , which is located in your props directory.Just check the contents of this db2e.config

file . In this , u can see the DB2E specific configuration parameters which are to be written in to your MobileConfig.config file.

So once the installation of DB2E database is successfully completed on the client device, the MobileEngine.config file will be overwritten with the DB2E specific parameters. So u dont have to change these parameters in the MobileEngine.config file.

Here the main thing to note is ,after the fresh installation of MI Client , this DB2E file must be the first application installed on the client device. During first Sync this must happen .

If u are using role synchronization for deploying applications and add-ons in your client devices , and you have to install one application also at the first installation , you have to create one installation sequence for your applications which are to be

installed. Your DB2E data base add-on must have the installation order 1.

If you need some additional parameter changes in your MobileEngine.config file , then u have to change the install.xml file accordingly.

DB2 Everyplace composite note for ME 2.1 and MI 2.5 - 677476

just refer these notes before installing the DB2E data base add-on..

Restrictions DB2e

634169 - Year before 1000 is not supported by DB2e on PPC device

668807 - Restrictions for DB2e

Corrections and enhancements DB2e

For DB2 Everyplace V8.2.1, a problem was known and has been fixed. Before you install DB2 Everyplace V8.2.1, read Note -- 899800.

Just refer these links also...

Uploading add-on files

-


http://help.sap.com/saphelp_nw04/helpdata/en/24/be9b3e27a4fd13e10000000a114084/content.htm

Adjusting the installation Instructions

-


http://help.sap.com/saphelp_nw04/helpdata/en/3a/b834418b718739e10000000a1550b0/content.htm

refer these forums also..

https://forums.sdn.sap.com/click.jspa?searchID=484107&messageID=1820643

https://forums.sdn.sap.com/click.jspa?searchID=484107&messageID=1709553

Regards

Kishor Gopinathan

Former Member
0 Kudos

Hi Fabricio Domingos Robim Cordeiro

I see 2 aspects here

1. If you have already used File I/O as your persistent layer in the MI Client and want to migrate to DB2E, then it is mandatory to do a Client Data Reset before migrating to DB2E

2. If you have not yet used your applicaiton on MI Client as yet, then all that you need to do is upload the DB2E addon in the web console and assign it to the device. The DB2E addon has all required configurations to change your persistant layer from File I/O to DB2E.

Just a FYI: You generally need not change your queries when migrating to FileI/O to DB2E, but inorder to make best use of DB2E, you can use certain features like JQuerry which is supported only in DB2E.

Hope this helps

Best Regards

Sivakumar

Former Member
0 Kudos

Hi Sivakumar V and Kishor Gopinathan.. Thanks for help

I just do the sync with the ADD-ON, download my app and the data. I saw in MI_HOME\data the data of the app. So i access the app and occurs a error. In the moment that i instance a SyncBoDescriptor occours the error (NullPointerException).

SyncBoDescriptor sbd = descriptorFacade.getSyncBoDescriptor("ZMANUT13");

When the access is in File, this line work perfectly, but with the DB2e don't...

My MobileEngine.config

-


#Wed Dec 20 02:06:33 GMT-12:00 2006

MobileEngine.Sync.Gateway.System=DX1

MobileEngine.Persist.Implementation.TransactionManager=com.sap.ip.me.persist.jdbc.DBPersistenceManagerImpl

MobileEngine.Sync.Language=PT

MobileEngine.Persist.Jdbc.DbUrl=jdbc\:db2e\:%d

MobileEngine.Persist.Implementation.DescriptorRuntime=com.sap.ip.me.persist.jdbc.DBDescriptorRuntimeImpl

MobileEngine.Sync.Proxyhost=

MobileEngine.Sync.LastSuccessfulSync=1166623189828

MobileEngine.Persist.Encryption=false

MobileEngine.Security.SynchronizationPasswordHandlingOption=local

MI.ClientInstaller.SuppressUserInteraction=false

MobileEngine.Sync.Client=130

MobileEngine.Persist.Jdbc.DbManagerClass=com.sap.ip.me.persist.db2e.IBMDB2eManager

Runtime=tomcat

MobileEngine.Deployment.UpdateJarList=X

MobileEngine.Persist.Implementation=DB2E

CFS.Deploy.DeviceName=MOBILE_000003

MobileEngine.Persist.Jdbc.Db2.Dll=DB2eJDBC,CryptoPlugin,DB2e

MI.Sync.DataVersion=251300

MobileEngine.Sync.Deviceid=21926B03E8366447B28495307FB0D367

MobileEngine.AppLog.Enabled=true

MobileEngine.Persist.Implementation.PersistenceManager=com.sap.ip.me.persist.jdbc.DBPersistenceManagerImpl

MobileEngine.Sync.Gateway.Port=8000

MobileEngine.Persist.Jdbc.Driver=com.ibm.db2e.jdbc.DB2eDriver

MobileEngine.UM.SAPLogonTicketWaitingRefresh=1

MobileEngine.Sync.Passwd=

MobileEngine.Runtime.Application.StartAutomatically=CONFIGEXAMPLEJSP

MobileEngine.Sync.Proxyport=

MobileEngine.Sync.Proxyused=false

MobileEngine.UM.SAPLogonTicketRequestTimeout=10

MobileEngine.Sync.Gateway=

MobileEngine.Reg.AlreadyInitialized=true

MobileEngine.Persist.Jdbc.DbName=db2e

MobileEngine.Sync.Gateway.Protocol=http

MobileEngine.Sync.Pwdencrypted=X

MobileEngine.Persist.Implementation.QueryRuntime=com.sap.ip.me.persist.core.QueryRuntimeImpl

MobileEngine.Sync.ConnectionTimeout=6000

Init.UsingTomcatDirs=true

MobileEngine.Sync.Timezone=Etc/GMT+12

MobileEngine.Sync.Gateway.Host=sulsleds04

-


Do you have any idea about this?

Thanks.

Message was edited by:

Fabricio Domingos Robim Cordeiro

Message was edited by:

Fabricio Domingos Robim Cordeiro

Message was edited by:

Fabricio Domingos Robim Cordeiro

Former Member
0 Kudos

Hi Fabricio,

The problem could be because the the Descriptor tables have not get recreated in the format which DB2e understands and it is in a format that the File/IO understands, Have you performed a client reset?

Please perform another client reset and check if the Exception is still thrown.

Best Regards,

Karthik

Former Member
0 Kudos

Hi Karthik,

I have been reseted the client and the problem continue... Is it necessary do something to call de Descriptor tables?

Thanks.

Former Member
0 Kudos

hello fab,

you have to redeploy your application for your metadata to be persisted into the

database if you switched to db2e after the application had been deployed.

regards

jo