Mobile Server on BI Platform - IPAD Performance
Hello,
i created a Report with BO Design Studio and assigned it to Mobile Category. The BO Server is 4.1 - SP01.
When opening the Report on an IPAD 2 (newest BI Mobile) it takes about 5-8 seconds longer than in Browser.
Even an empty Report (just the IPAD template from BO Design Studio with no data source) takes 8-10 seconds to open.
Is that "Speed" normal or does this indicate, that i have Performance issues?
At the Moment i am the only user on the System.
Regards Martin
Hi Martin,
As per my Experience, Reports in browser will always open fast compare to Mobile Client
I have raised the same point 18 Months back, Ended with no solution.
One of the consultant explained like Mobile will be having less processing and bandwidth/Resource compare to the browsers in the PC.
I am in assumption that mobile reports will have slight delay in opening/executing.
Similar Messages
-
Registering the mobile device on mobile server for linux platforms
Dear all,
My scenario fits like dis.........
I m using oracle 9i and oraclelite 10g on redhat linux 9 platform.I m using a handheld EPOS device activated with GPRS.It is basically a swiper machine which is used for bank transactions.The port which I m using are Serial port and USB.my device is not getting detected in WEBTOGO.I heard that I should register my device with the mobile server.but i dont know how to register on linux platforms....I've got a MAC Id for my EPOS device.....cud i do anything with MAC Id?.....and where I have to see whether the device has been detected?
if any body used oracle lite 10g on linux platforms,plz make me a call.
I dont know how to use msql in linux platforms?...how to create a database using msql?
my mobile no. is +91-98433-32738.Did you install anything from Oracle Lite on that EPOS device of yours ? If so, how did you install and what did you install ?
Usually, when you install a Oracle Lite client on the device, the device should get registered during installation.
Do let us know what you have done. -
Hello,
I want to install BO Mobile Server additionally to my BI 4.0 SP 7.6 installation. Unfortunately the Patches don't include the full BO Mobile Server, how can I add BO Mobile Server to my platform?
Thanks!Refer the below notes
1790442 - Mobile Server folder missing after BI4.0 SP05 upgrade
1593262 SAP BusinessObjects Mobile Installation and Deployment Guide -
Application Type: Flex Mobile Application
Target Platform: iPad
AIR Version: 4.0
Development Environment: Flash builder 4.6
I want to run some code just before iphone application goes into background. I need function similar to didEnterBackground
of native xcode app
(https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIApplicationDelegat e_Protocol/Reference/Reference.h
tml#//apple_ref/occ/intfm/UIApplicationDelegate/applicationDidEnterBackground:)
I tried using devactivated function of flash.display.STAGE.
I used following addEventListener:
STAGE = this.parent.stage;
STAGE.addEventListener(Event.DEACTIVATE, onAppDeactivated);
It worked for me but only when device is connected to development environment in debug mode. When I create my release build
it is not working.
So how can I make sure that my code runs before application goes into background.Even I am facing almost same issue
Problem installing Adhoc version to iPhone and iPad - Development Environment Is - Adobe Flash CS6 -
How to set Data Subsetting Parameters in MOBILE SERVER
Hello.
How can I set data subsetting parameters in Mobile Server with patch 5.0.2.10.0 NLS.
From Mobile Server "Control Center" -> "Applications" it's not appears at left screen the following field:
* Data Subsetting
* Registry
* Access
* Files
The browser appears this error message:
"http://120.0.0.1:2000/webtogo/admin/console/apppropinfo?applicationvp=%2FMyApp"
Have you any idea for this problem?
Thanks All.Thanks Oliver,
I have to go in control center in "applications tab" then i have the list of application and i edit one of them, on the left clic Data Subsetting it's not appears.
The following it not appears:
* Data Subsetting
* Registry
* Access
* Files
The browser (internet explorer) appears (at buttom on the left browser) this error message:
"error http://127.0.0.1:2000/webtogo/admin/console/apppropinfo?applicationvp=%2FMyApp missing link".
Whereas (Oliver's solution) in Mobile Server "Control Center" -> "Users Tabs"
i have the list of users go and i edit one of them, on the left clic Data Subsetting then clic on the right pan platform and then i see but not parameter are definited.
Help me please. -
Oracle Mobile Server with SQLLite/Berkeley Db and dbsql
Hi all,
i am not sure if i am correct here but hopefully i am.
In the past we have had Oracle Mobile Server with Oracle Lite.
We decided to switch to new mobile Server because oracle webtogo is not longer supported and incompatible with windows 7. My administrator did migration of mobile server but migration utility reported that the available applications are incompatible.
So I decided to create a completely New Publication with a Java application. The new Publication contains only one publication Item. For the first tests I simply wanted to spool out the data contained in my local database.
In bin directory of sqlite folder i can find a utility named "dbsql". I understood it in this way that I can attach to an existing database file and take a look into that database.
If i call dbsql.exe BerkeleyTest all seems to be ok. But if i try to select some data from that file i only get the errormessage that databse is in wrong format or encrypted. What am i doing wrong there?
Am I right that the sql interface (I need that interface because I dont want to rewrite dataaccesslayer of my app) is only available in sqlite but not on "BerkeleyDb"?
Is anyone here to help me a little bit with my problem here?
Regards!
MartinI do not know much about Oracle Mobile Server with Oracle Lite, does it use SQLite or BDB? I do know that databases created by SQLite cannot be read by Berkeley DB SQL (of which dbsql.exe is part of), and databases created by Berkeley DB SQL cannot be read by SQLite. Also, databases created by Berkeley DB outside of the SQL API cannot be read by the BDB SQL API. You can open BDB SQL databases with BDB outside of the SQL API, but I would not recommend that outside of a few BDB utilities described in the documentation. So if your BerkeleyTest database was created by SQLite or BDB outside of the SQL API, then it makes sense that dbsql.exe is returning an error when trying to read it.
Calling dbsql.exe BerkeleyTest does not open the database, that happens when the first operation is performed on it, which is why you did not get an error until you tried to select something.
Lauren Foutz -
Oracle 9i Lite Mobile Server deploye Problem As Apache Module
I am trying to get the Oracle9i Lite Mobile Server run as a Module under Apache.
my platform is Linux 7.2, which of course is documented as an option.
I managed to install the mobile server and the following document is
the latest from ORACLE site. and is very useful.
http://technet.oracle.com/docs/products/lite/doc_library/release501/readme.htm#new
I have one problem to overcome the module to load in Apache
'libwtgapach.so'
is the required shared library.
This does not load due to following error,
Cannot load /var/ORACLE/mobile/server/bin/libwtgapach.so into server:
/var/ORACLE/mobile/server/bin/libwtgapach.so: undefined symbol:
ap_global_ctx
All the libraries can be resolved here is the ldd ( link map )
ldd libwtgapach.so
liborafc.so => /var/ORACLE/mobile/server/bin/liborafc.so (0x40007000)
libjvm.so => /var/ORACLE/jdk/jre/lib/i386/classic/libjvm.so
(0x4002a000) libhpi.so =>
/var/ORACLE/jdk/jre/lib/i386/green_threads/libhpi.so (0x400bd000)
libdl.so.2 => /lib/libdl.so.2 (0x400dd000)
libpthread.so.0 => /lib/i686/libpthread.so.0 (0x400e1000)
libstdc++-libc6.1-1.so.2 => /usr/lib/libstdc++-libc6.1-1.so.2
(0x400f7000)
libm.so.6 => /lib/i686/libm.so.6 (0x40139000)
libc.so.6 => /lib/i686/libc.so.6 (0x4015c000)
libnsl.so.1 => /lib/libnsl.so.1 (0x40297000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000)
I found this post explaining to recompile Apache
This actually means you installed mod_ssl as a DSO, but
. without rebuilding Apache with EAPI. Because EAPI is a
requirement for mod_ssl, you need an extra patched Apache
(containing the EAPI patches) and you have to build this
Apache with EAPI enabled (explicitly specify --enable-rule=EAPI
at the APACI command line).I recompiled apache with the following
./configure --prefix=/usr/local/ssl-apache/httpd-2.0.39
--enable-rule=EAPI ; make ; make install
I still get the same error when I try to load the module.Am I missing
something?
Any help is deeply appreciated.
-- ajithScott, I have yet to get WTG server to work as an NT service when loaded as an Apache module.
We've had to load it into a non-service based Apache server (one that runs from the command line in a MS-DOS prompt window). This is on XP Pro.
We've switched to running our WTG server on Linux. -
Oracle Lite Mobile Server Standalone Version
We are planning to run the Mobile Server in the DMZ and wanted to run the Mobile Server as standalone on it's own box. I found in the documentation that Oracle does not recommend to run the standalone version in production. Oracle recommends that the production use the Oracle Application Server for the middle-tier.
Does anyone know why Oracle recommends we don't use Mobile server as standalone in a production environment?
Message was edited by:
Javier RuizI have used the stand-alone as a production solution with 1000 users synching approx 2 GB a day and users databases having databases ranging from 50 MB to 1 GB.
I am deploying to app server and here is what I have found to be better.
* <strike>better</strike> easier management of the JVM. Actually, maintenance in general is much easier. I like the performance monitors that come with application server. Easier then logging into a telnet session and using mpstat and prstat.
Does it limit you going stand-alone? No.
But I would recommend that the bigger the system, the more robust your application server should be. Both in hardware and software (webcache, app server) -
Oracle Database Mobile Server 11g is out
Oracle Database Mobile Server 11g is released, please post your comments when you get hands on it
http://www.oracle.com/technetwork/database/database-mobile-server/overview/index.html
New Features in 11g
* Support for Java SE, including SE Embedded
* Device Management for Android platforms
* Automatic sync for Android and Blackberry platforms
* Support for Oracle Glassfish
* Support for Java 1.6
* Better integration with Oracle Berkeley DB, including encryption supportIn the release notes for 11g, I find this:
"The Oracle Lite Mobile Client is desupported in this release. The Sync Control APIs for the Oracle Lite Mobile Client are still provided in this guide, but will be removed when the Oracle Lite Mobile Client is fully deprecated.
Supported mobile clients include the Berkeley DB and SQLite Mobile Clients.
I am not sure I understand. Will I still be able to use Olite db with the Sync Control API for Oracle lite (like before), or does it mean that the sync control APIs now work only with SQLite and BDB? We are in the process of porting our app from WM6.1 to Android. If we install the latest Mobile server, will I have to change my WM6.1 app so that it supports SQLite or BDB?
I think the latter is the case, but I became unsure when I read the release note. -
Oracle Mobile Server 10g, where to download?
Hi,
I can't find where to download it?Same thing. You need mobile server to perform the replication and create the oracle lite database. You can use it at as a stand-alone database without the replication, but if you are looking to use it as a stand-alone database, I recommend going with Oracle PE or XE.
-
Connect database in mobile server
Hi all,
Can I ask how can I connect the database that I have created in mobile server?
ThanksHi
Can you be more specific:
Which database do you want to connect to, the Oracle9 RDBMS, or an Oracle lite database?
If it is an Oracle Lite database, how was the database created and which client platform are you using?
Olaf -
GroupWise Mobile Server and iphone.
Hello,
I have several users with iPhones and they have started calling us about synchronizing this device with our GroupWise system. Does GroupWise Mobile Server ver. 3.0.1 support iPhons? If not, Is Novell working on a new release version that will support iPhones?
Thank you very much.I just threw out the "Novell claims to" part just to fire a few people up.
It would be nice if the Novell would offer something to their real customers
rather than just distant blogs notes here and there.
There used to be a time that if you had any questions about a new or
promised product release you could contact your Novell sales rep. Right now
I have no idea if I even have one, much less if he or she would have any
answers.
My comment that Novell claims to be working on a solution is not false,
publicly there is no proof of the product that was at first announced to be
released in the fall of 2009.
The real GroupWise customers will be lucky to even see such a product by the
fall of 2010 and my best bet, it will be early 2011 before such can be
implemented at least around here and after seeing the flaws in GW 8 that
were shipped, I don't expect it will be stable until the 2nd version or
couple of services packs later.
Simple fact is, I can't depend on Novell for a mobile solution for email. I
have to find some other cheap solution or change email platforms.
"DZanre" <[email protected]> wrote in message
news:[email protected]..
> Michael Rae wrote:
>
>> The Novell DataSynchronizer Mobility Pack is scheduled to be in
>> Alpha any day now
>
> And this indeed is true. Novell has rolled out the Mobility product
> internally
> as an alpha test readying for the beta.
>
> --
> Danita
> Novell Knowledge Partner
> Moving GroupWise to Linux?
> http://www.caledonia.net/gwmove.html -
The Blackbery device simulator is not able to connect to the mobile server.
Hi
While login to Sap Mobile BI i get the below error.
"unable to connect to mobile server.The request is timed out(0x008)"Thank You for your reply.I had no problem with the mobile network connections it is on.The issue i am facing i am using proxy server deployment where we don't have to mention host_port in the vas cluster configuration due to which i m not able to connect to blackberry Simulator which is on client machine.But if i specify the client machine port to Host_port then i m able to connect.Can you help me to configure the Mobile server for a non-BlackBerry
deployment that uses a proxy server -
Sample JAVA Mobile Server Publish code, and technical questions
Dear Oracle technical representative, or user:
I need to programmatically create, and remove publications using the pure JAVA classes of Consolidator, ConsolidatorManager, and ResourceManager for the Mobile Server in OracleLite 9i Release 5.0.1. On the creation side I have managed to get the example found in the directory OraLite501\Mobile\Server\Sample\Sample11 functioning using my installation parameters. I had a very difficult time of it because (1) the sample11 code fails to open an jdbc connection to the Mobile Server Repository Schema with the function Consolidator.OpenConnection, and (2) the ResourceManager function openConnection will not work unless the Webtogo.ora file is in the current working directory. The ConsolidatorManager function OpenConnection may also not work unless the Webtogo.ora file is in the current working directory, but I did test the hypothesis. Both of these problems need to be addressed in the sample11 code, and documentation to save other software developers from wasting hours of their valuable time. See line 223, 386, and 448 in the Publish.Java code that follows this problem description.
With the above two problems resolved, I can now programmatically create publications, but no hints on how to programmatically remove a publication exist in the documentation. The application I am developing will require the dynamic creation, and removal of publications. Also, when developing applications the complete removal of a publication is absolutely necessary when you have botched a publication. Thus my first question is What sequence of ResourceManager, and ConsolidatorManager function calls will completely remove a Publication?.
I also have two issues remaining with the code that I have so far developed. These issues will most likely be resolved, when I obtain instructions on how to completely remove a publication, and associated users. But, perhaps not. Referencing the Publish.java file that follows this problem description,
1. The ResourceManager function dropUser does not drop a user. See my comments, and code beginning at line 277 in Publish.java. Do I need to de-instantiate all subscriptions, and unsubscribe all subscription users before calling this function.? I think, I tried the de-instantiate, unsubscribe sequence without success, but in the confusion I may not have made the try.
2. How do I get rid of an index created with the ConsolidatorManager function DropPublicationItemIndex?. My comments on this problem begin at line 522 in Publish.java. For some reason the DropPublicationItemIndex function call made below line 448 does not work. What function calls are required prior to calling the DropPublicationItemIndex function?
Throughout the Publish.java code, I have made comments about some of the problems that I have had in getting the sample11 code working for my installation parameters. I think these comments should help the programmers maintaining the ResourceManager, and ConsolidatorManager code improve the stability of the programs. Please pass these comments, and attached files to the appropriate individuals,
if you are in a position to do so.
The other files that follow the Publish.java code are
1. Compile.bat - Compiles Publish.java using j2sdk1.4.0.
2. Run.bat - Executes Publish using \ j2sdk1.4.0\jre\server\jvm.dll.
3. Webtogo.ora
4. tnsnames.ora for the Mobile Server.
5. tnsnames.ora for the Database.
Feel free to access my server if you need to do so in resolving my problems. The parameters you will need to gain access can be found at the top of Publish.java, and in the included *.ora files.
Thanks,
Thomas G. Matney
[email protected]
(662)325-2791
//Start of Publish.java code
// Oracle HTTP Server URL = http://yggdrasill.cfr.msstate.edu:7778
// = http://130.18.168.225:7778
// Mobile Server URL = http://yggdrasill.cfr.msstate.edu/webtogo/startup
// = http://130.18.168.225/webtogo/startup
// Mobile Server Control Center URL = http://yggdrasill.cfr.msstate.edu/webtogo
// = http://130.18.168.225/webtogo
// Mobile Server Control Center URL = http://yggdrasill.cfr.msstate.edu/webtogo
// = http://130.18.168.225/webtogo
// Mobile Server Control Center username = administrator
// Mobile Server Control Center password = admin
// Mobile Server URL = http://yggdrasill.cfr.msstate.edu/webtogo/startup
// = http://130.18.168.225/webtogo/startup
// Mobile administrator username = fiafield // Schema FIAFIELD on FIA.CFR.MSSTATE.EDU
// Mobile administrator password = fiafield // Username and password are the same
import java.sql.SQLException;
import java.sql.*;
import oracle.lite.sync.Consolidator;
import oracle.lite.sync.ConsolidatorManager;
import oracle.mobile.admin.ResourceManager;
import oracle.mobile.admin.ResException;
import oracle.sql.*;
import oracle.jdbc.*;
import oracle.mobile.admin.*;
public class Publish
// Schema names and usernames are not case sensitive.
// UN fiafield = FIAFIELD
// SCHEMA fiafield = FIAFIELD
// Schema name/Username, and password used on creation of Mobile Repository
static String CONS_SCHEMA = "fiafield";
static String DEFAULT_PASSWORD = "fiafield";
static String admin_jdbc_url = "jdbc:oracle:oci8:@WEBTOGO.WORLD";
static String thin_jdbc_url =
"jdbc:oracle:thin:@YGGDRASILL:1521:FIA.YGGDRASILL.CFR.MSSTATE.EDU";
static String Publication;
static String CreateTreeTableShortNames =
"CREATE TABLE FIAFIELD.ZMTR1TBL("
+ "id FLOAT,"
+ "subp FLOAT,"
+ "rnum FLOAT,"
+ "st FLOAT,"
+ "unit FLOAT,"
+ "cnty FLOAT,"
+ "plot FLOAT,"
+ "cyc FLOAT,"
+ "scyc FLOAT,"
+ "tree FLOAT,"
+ "ncpt FLOAT NULL,"
+ "dist FLOAT NULL,"
+ "diam FLOAT NULL,"
+ "dmht FLOAT NULL,"
+ "dmck FLOAT NULL,"
+ "spec FLOAT NULL,"
+ "lang FLOAT NULL,"
+ "nctc FLOAT NULL,"
+ "stat FLOAT NULL,"
+ "util FLOAT NULL,"
+ "deca FLOAT NULL,"
+ "crat FLOAT NULL,"
+ "ccls FLOAT NULL,"
+ "az FLOAT NULL,"
+ "cond FLOAT NULL,"
+ "tlen FLOAT NULL,"
+ "alen FLOAT NULL,"
+ "lmet FLOAT NULL,"
+ "nctg FLOAT NULL,"
+ "rcul FLOAT NULL,"
+ "ncpd FLOAT NULL,"
+ "dead FLOAT NULL,"
+ "mor FLOAT NULL,"
+ "modm FLOAT NULL,"
+ "dml1 FLOAT NULL,"
+ "dmt1 FLOAT NULL,"
+ "dms1 FLOAT NULL,"
+ "dma1 FLOAT NULL,"
+ "dml2 FLOAT NULL,"
+ "dmt2 FLOAT NULL,"
+ "dms2 FLOAT NULL,"
+ "dma2 FLOAT NULL,"
+ "dml3 FLOAT NULL,"
+ "dmt3 FLOAT NULL,"
+ "dms3 FLOAT NULL,"
+ "dma3 FLOAT NULL,"
+ "dbtr FLOAT NULL,"
+ "dbsp FLOAT NULL,"
+ "nxtn FLOAT NULL,"
+ "dbds FLOAT NULL,"
+ "dbaz FLOAT NULL,"
+ "psta FLOAT NULL,"
+ "fiat FLOAT NULL,"
+ "fhmt FLOAT NULL"
+ ")";
static String CreateTreeTableLongNames =
"CREATE TABLE FIAFIELD.ZMTR1TBL("
+ "ID FLOAT,"
+ "SUBPLOT FLOAT,"
+ "RECORD_NUMBER FLOAT,"
+ "STATE FLOAT,"
+ "UNIT FLOAT,"
+ "COUNTY FLOAT,"
+ "PLOT FLOAT,"
+ "CYCLE FLOAT,"
+ "SUBCYCLE FLOAT,"
+ "TREE FLOAT,"
+ "NC_PLOT_TYPE FLOAT,"
+ "DISTANCE FLOAT NULL,"
+ "DIAMETER FLOAT NULL,"
+ "DIAMETER_HEIGHT FLOAT NULL,"
+ "DIAMETER_CHECK FLOAT NULL,"
+ "SPECIES FLOAT NULL,"
+ "LEAN_ANGLE FLOAT NULL,"
+ "NC_TREE_CLASS FLOAT NULL,"
+ "STATUS FLOAT NULL,"
+ "UTILIZATION FLOAT NULL,"
+ "DECAY FLOAT NULL,"
+ "CROWN_RATIO FLOAT NULL,"
+ "CROWN_CLASS FLOAT NULL,"
+ "AZIMUTH FLOAT NULL,"
+ "CONDITION FLOAT NULL,"
+ "TOTAL_LENGTH FLOAT NULL,"
+ "ACTUAL_LENGTH FLOAT NULL,"
+ "LENGTH_METHOD FLOAT NULL,"
+ "NC_TREE_GRADE FLOAT NULL,"
+ "ROTTEN_CULL FLOAT NULL,"
+ "NC_PREVIOUS_DBH FLOAT NULL,"
+ "CAUSE_OF_DEATH FLOAT NULL,"
+ "MORTALITY_YEAR FLOAT NULL,"
+ "MO_DAMAGE FLOAT NULL,"
+ "DAMAGE_LOCATION1 FLOAT NULL,"
+ "DAMAGE_TYPE1 FLOAT NULL,"
+ "DAMAGE_SEVERITY1 FLOAT NULL,"
+ "NC_DAMAGE_AGENT1 FLOAT NULL,"
+ "DAMAGE_LOCATION2 FLOAT NULL,"
+ "DAMAGE_TYPE2 FLOAT NULL,"
+ "DAMAGE_SEVERITY2 FLOAT NULL,"
+ "NC_DAMAGE_AGENT2 FLOAT NULL,"
+ "DAMAGE_LOCATION3 FLOAT NULL,"
+ "DAMAGE_TYPE3 FLOAT NULL,"
+ "DAMAGE_SEVERITY3 FLOAT NULL,"
+ "NC_DAMAGE_AGENT3 FLOAT NULL,"
+ "DB_TREE FLOAT NULL,"
+ "DB_SPECIES FLOAT NULL,"
+ "NEXT_NUMBER FLOAT NULL,"
+ "DB_DISTANCE FLOAT NULL,"
+ "DB_AZIMUTH FLOAT NULL,"
+ "PREVIOUS_STATUS FLOAT NULL,"
+ "FIA_TREE_NUMBER FLOAT NULL,"
+ "FHM_TREE FLOAT NULL"
+ ")";
public static void main(String argv[]) throws Throwable
// Publish - an OKAPI sample
if(argv.length == 2)
CONS_SCHEMA = argv[0] ;
DEFAULT_PASSWORD = argv[1] ;
//create required tables using standard jdbc
//DriverManager.registerDriver ((Driver)Class.forName ("oracle.jdbc.driver.OracleDriver").newInstance ());
DriverManager.registerDriver (new oracle.jdbc.driver.OracleDriver());
Connection c = null;
Statement s = null;
try
// Open connection to Mobile Repositoty/FIAFIELD schema as SYSTEM.
// Need the ability to grant resources, and connection to Mobile Repository user
//c = DriverManager.getConnection ("jdbc:oracle:oci8:@WEBTOGO.WORLD", "SYSTEM", "phwphw" );
// Remote connection. See attached webtogo.ora.
c = DriverManager.getConnection ("jdbc:oracle:oci8:@WEBTOGO.WORLD.YGG",
"SYSTEM", "phwphw");
s = c.createStatement ();
try
s.executeUpdate("DROP table FIAFIELD.ZMTR1TBL");
catch (SQLException ee)
ee.printStackTrace ();
try
s.executeUpdate(CreateTreeTableShortNames);
catch (SQLException ee)
ee.printStackTrace ();
try
s.executeUpdate("alter table FIAFIELD.ZMTR1TBL add constraint"
+" zmtr1tbl_pk primary key(subp, tree)");
catch (SQLException ee)
ee.printStackTrace ();
// Line 223 // create consolidator publications.
try
// *****!!!!! Unless the Webtogo.ora file is in the current working
// directory the connection is not made. This version of the resource
// manager must be looking for the file in the old 8i Mobile default
// directory. This is a definite problem. If the code was working, the
// addition of the webtogo.ora should have affect on the functionality
// of the code.
// The connection is made to the Mobile Server. At least no exceptions
// are thrown, provided the webtogo.ora is in the current working
// directory.
//oracle.mobile.admin.ResourceManager.openConnection(CONS_SCHEMA, DEFAULT_PASSWORD);
// I tried making a direct connect to possibly avoid needing to have the
// webtogo.ora file in the current directory. The direct coonect did not work.
// You can quickly convince yourself that the webtogo.ora file must
// be in the current working directory, by running the code with and
// without the webtogo.ora in the current working directory.
// The directory OraLiteHome\Mobile\Server\bin is in the PATH after
// after installation but the extension .ora is not in PATHEXT. The
// OraLite installer should put .ora in PATHEXT. I tried adding .ora
// to the PATHEXT, but it still could not find thw webtogo.ora file,
// and it should have. What is going on? I am a bit rusty on DOS so
// I may not have thing right.
// OraLiteHome\Mobile\Server\bin is the residing directory for
// the functional copy of the webtogo.ora file.
oracle.mobile.admin.ResourceManager.openConnection(
CONS_SCHEMA,
DEFAULT_PASSWORD,
"jdbc:oracle:oci8:@WEBTOGO.WORLD");
catch(ResException ee)
ee.printStackTrace (); // NULL Pointer Exception?
// The Mobile user is created, and then the function throws a resource exception.
// This is a serious problem with the code. One would assume that the user
// is not created if and exception is thrown.
// This appears to be a bug in the createUser code. The function should return
// false if the user is not created, and handle, or not throw the exception.
// The function always returns false. It does return true when a user is created
// because it throws an exception.
boolean bIsCreated;
System.out.println("Begin of why is ResourceManager not dropping users?");
// Line 277
try
// The dropUser function will not drop a user. I have tested the function
// by creating the user ZMPT1UA in the Mobile Server Control Center
// http://Yggdrasill.cfr.msstate.edu/webtogo
// so I know that the user exist.
// This function throws a ResException but it is not declared correctly
// since you cannot trap the exception as a ResException. It always tells
// me the view does not exist. What steps are required to get the function
// to work? What function calls need to be made prior to calling the dropUser
// function.
oracle.mobile.admin.ResourceManager.dropUser("ZMPT1UA");
catch (Throwable ee)
ee.printStackTrace (); // NULL Pointer Exception?
System.out.println("End of why is ResourceManager not dropping users?");
try
bIsCreated = oracle.mobile.admin.ResourceManager.createUser(
"ZMPT1UA",
DEFAULT_PASSWORD,
"ZMPT1UA", "S");
catch (Throwable ee)
ee.printStackTrace (); // Ignore exception
// Obsolete or depreciated function, according to documentation?
oracle.mobile.admin.ResourceManager.commitTransaction();
// Create CONS_SCHEMA user on the database with the same username, and
// password as the user on the Mobile Server side. This is why the
// DriverManager connection was made as SYSTEM/phwphw.
// Grant ALL to repository, and user on replicated database
// On the database side there is a user with un = fiafield,
// and pw = fiafield, which is the same as the Mobile Repository
// schema name/password pair fiafield/fiafield. Can this duality
// create a problem? Probably not.
// Need SYSTEM ADMIN privilages for the next two steps, and that is
// why the coonection was established as SYSTEM/phwphw.
// Make user, and grants for Publish to user CONS_SCHEMA, and ZMPT1UA
System.out.println("Pargress point D");
try
s.execute("Create user " + "ZMPT1UA" + " identified by " + DEFAULT_PASSWORD);
catch (SQLException ee)
ee.printStackTrace (); // ignore
try
s.execute("GRANT ALL ON FIAFIELD.ZMTR1TBL to " + CONS_SCHEMA + " WITH GRANT OPTION");
catch (SQLException ee)
ee.printStackTrace (); // ignore
try
s.execute("GRANT ALL ON FIAFIELD.ZMTR1TBL to " + "ZMPT1UA" + " WITH GRANT OPTION");
catch (SQLException ee)
ee.printStackTrace (); // ignore
/* This code is not needed to test the code
// Insert items into table FIAFIELD.ZMTR1TBL from FIAFIELD.HUSKY_TREE
String Statement =
"INSERT INTO FIAFIELD.ZMTR1TBL SELECT * from FIAFIELD.HUSKY_TREE WHERE PLOT = 1";
try
s.execute(Statement);
catch (SQLException ee)
System.out.println("FIAFIELD.HUSKY_TREE was not inserted into FIAFIELD.ZMTR1TBL");
ee.printStackTrace (); // ignore
c.commit ();
catch (SQLException ee)
ee.printStackTrace ();
finally
if (s!= null) try {s.close ();}catch (SQLException e1){}
if (c!= null) try {c.close ();}catch (SQLException e2){}
// The Consolidator class is not thread safe, and I will eventually
// need thread safety. The ConsolidatorManage class is thread safe.
//Consolidator ConsolidatorXX = new Consolidator();
ConsolidatorManager ConsolidatorXX = new ConsolidatorManager();
// Line 386
// Try opening a connection. Sample11 does not open a connection, but it seems
// like a logical first thing to do.
// At least with this connection the DropPublication, and AddPublication functions
// appear to work, or at least they do not throw exceptions. The DropPublication
// throws an exception if a publication does not exist? I tested this and indeed
// if I call the DropPublication function, and do not create the Publication again
// when I reenter the program the DropPublication function throws an exception, and
// produces the correct error message(The publication does not exist). There is hope.
// It is very disturbing that the program fails unless the webtogo.ora file is not
// in the current working directory. Because the OpenConnection functions of both
// the ResourceManager, and ConsolidatorManager both appear to need access to the
// webtogo.ora file, and they are finding them in the current directory, the
// logical conclusion is that both of the classes are attempting to open the
// webtogo.ora with the relative path webtogo.ora, and not the absolute path
// OraHomeLite/Mobile/Server/Bin/webtogo.ora. As this has to be the case, why
// is this very important fact not in the documentation? Or, am I wrong?
Connection conn = null;
try
//ConsolidatorXX.OpenConnection(CONS_SCHEMA,
//DEFAULT_PASSWORD);
//ConsolidatorXX.OpenConnection(CONS_SCHEMA,
//DEFAULT_PASSWORD,
//"jdbc:oracle:oci8:@WEBTOGO.WORLD");
conn = DriverManager.getConnection
("jdbc:oracle:oci8:@WEBTOGO.WORLD",
CONS_SCHEMA,DEFAULT_PASSWORD);
//conn = DriverManager.getConnection
//("jdbc:oracle:oci8:@WEBTOGO.WORLD",
//"SYSTEM","phwphw");
ConsolidatorXX.OpenConnection(conn);
catch (Throwable e)
e.printStackTrace(); //ignore error
// Publication name
Publication = "ZMTR1PUB";
try
ConsolidatorXX.DeinstantiateSubscription(Publication, "ZMPT1UA");
catch (Throwable e)
System.out.println("Could not Deinstantiate Subscription ZMPT1UA");
e.printStackTrace(); //ignore error
// Line 448
// There is no Consolidator.OpenConnection in the orginal sample11.java code.
// Why?. It appears to be neccessary. The only way I can make the sample11 code
// or this program work is to open a jdbc connection with the Consolidator.OpenConnection
// function. I assume that somehow the Consolidator.OpenConnection function was
// deleted from sample11.java.
// This try to drop a publication index does not work, because when I try
// to recreate the index in the following code it warns me that I have a
// bad column name for the index. So it thinks the index still exist.
// Why?. How do I get rid of the index?
try
ConsolidatorXX.DropPublicationItemIndex("ZMTR1IX1");
catch (Throwable e)
e.printStackTrace(); //ignore error
try
ConsolidatorXX.DropPublicationItem("ZMTR1ITM");
catch (Throwable e)
e.printStackTrace(); //ignore error
try
ConsolidatorXX.DropPublication(Publication);
catch (Throwable e)
e.printStackTrace(); //ignore error
try
//ConsolidatorXX.CreatePublication(Publication, Consolidator.OKPI_CREATOR_ID,
//"zMTR1.%s", null);
ConsolidatorXX.CreatePublication(Publication, Consolidator.OKAPI_WINCE,
"zMTR1.%s", null);
catch (Throwable e)
e.printStackTrace(); //ignore error
try
ConsolidatorXX.DropPublicationItemIndex("ZMTR1IX1");
catch (Throwable e)
e.printStackTrace(); //ignore error
try
ConsolidatorXX.CreatePublicationItem("ZMTR1ITM","FIAFIELD","ZMTR1TBL", "F",
"SELECT * FROM FIAFIELD.ZMTR1TBL", null, null);
catch (Throwable e)
e.printStackTrace();
System.out.println("Begin of how can drop this index and get rid of the warning?");
// Line 522
// I defined the index ZMTR1IX1 originally on the variable subp, and did not get
// any warning. I then changed the index variable for the index to id, and started
// receiving the warning to check the index column for typographical errors. Even
// if I change the index variable back to subp, I continue to receive the warning.
// How do I get rid of the index and the warning, so I can recreate the index for
// another variable? I quess the real question is "How to I completely remove a
// publication, and all of its parts so I can start over?
try
ConsolidatorXX.CreatePublicationItemIndex(
"ZMTR1IX1", "ZMTR1ITM", "I", "id");
catch (Throwable e)
e.printStackTrace ();
System.out.println("End of how can drop this index and get rid of the warning?");
try
ConsolidatorXX.AddPublicationItem(
Publication, "ZMTR1ITM", null, null, "S", null, null);
catch (Throwable e)
e.printStackTrace ();
try
ConsolidatorXX.CreateSubscription(Publication, "ZMPT1UA");
catch (Throwable e)
e.printStackTrace ();
try
ConsolidatorXX.InstantiateSubscription(Publication, "ZMPT1UA");
catch (Throwable e)
e.printStackTrace ();
try
ConsolidatorXX.CloseConnection();
if(conn != null)
conn.close();
catch (Throwable e)
e.printStackTrace(); //ignore error
// Obsolete or depreciated function, according to documentation?
oracle.mobile.admin.ResourceManager.commitTransaction();
oracle.mobile.admin.ResourceManager.closeConnection();
End of Publish.java code
Begin Compile.bat
set CLASSPATH = .;D:\jdk1.4.0\lib\tools.jar;D:\OraLite501\MOBILE\classes\CONSOLIDATOR.JAR;D:\OraLite501\MOBILE\SERVER\BIN\WEBTOGO.JAR;D:\OraLite501\jdbc\lib\classes12.zip;D:\OraLite501\MOBILE\classes\classgen.jar;D:\OraLite501\MOBILE\classes\servlet.jar;D:\OraLite501\MOBILE\CLASSES\OLITE40.JAR
set PATH= d:\jdk1.4.0\jre\bin\server;d:\jdk1.4.0\bin;D:\OraLite501\bin;D:\OraLite501\Mobile\Server\bin;D:\oracle\ora92\bin;D:\OraLite501\MOBILE\sdk\bin
d:\jdk1.4.0\bin\javac Publish.java
End Compile.bat
Begin Run.bat
set CLASSPATH= .;D:\jdk1.4.0\lib\tools.jar;D:\OraLite501\MOBILE\classes\CONSOLIDATOR.JAR;D:\OraLite501\MOBILE\SERVER\BIN\WEBTOGO.JAR;D:\OraLite501\jdbc\lib\classes12.zip;D:\OraLite501\MOBILE\classes\classgen.jar;D:\OraLite501\MOBILE\classes\servlet.jar;D:\OraLite501\MOBILE\CLASSES\OLITE40.JAR
set PATH= d:\jdk1.4.0\jre\bin\server;d:\jdk1.4.0\bin;D:\OraLite501\bin;D:\OraLite501\Mobile\Server\bin;D:\oracle\ora92\bin;D:\OraLite501\MOBILE\sdk\bin
d:\jdk1.4.0\bin\java Publish
End Run.bat
Begin webtogo.ora
USE_SYSTEM_CLASSPATH = NO
MODE = SERVER
PORT = 80
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:@YGGDRASILL:1521:FIA.YGGDRASILL.CFR.MSSTATE.EDU
SITE_OFFLINE_PERIOD=0
CUSTOM_WORKSPACE=no
CUSTOM_DIRECTORY=myworkspace
DEFAULT_PAGE=myfirstpage.html
ADMIN_USER=8B37E78535B55525292A3A2929292999
ADMIN_PASSWORD=873515A838B85828292A3A2929292999
[EXTERNAL_AUTHENTICATION]
#CLASS=com.acme.SampleAuthenticator
# Web-to-go workspace's font
FONT_NAME=Arial
[FILESYSTEM]
#ROOT_DIR=%WEBTOGO_HOME%\server
#TYPE=O8
#TYPE=OL
#TYPE=OS
# Cache size in MBs
#CACHE_SIZE=10
MAX_CONNECTIONS=4
[DEBUG]
#ENABLE=YES
# The log file name.
#LOG_FILE=test.log
# Machine name and port where wsh.exe -m is running. Web-to-go
# will send debug output to that machine.
#MACHINE=
#PORT=100
[APPLICATIONS]
XMLFILE = ws1.xml
PACK_HELP=D:\OraLite501\mobile\doc\wtg\html\wtgdep.htm
[PUBLIC]
oracle.lite.sync.ConsolidatorServlet=/Consolidator
[CONSOLIDATOR]
# Installer will change these values
SERVER_VERSION=8.1.5
# 8.0.5 or 8.1.5
# 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=c:\\temp
WTG_PROXY_PORT=80
TRACE=NO
TRACE_ALL=NO
End webtogo.ora
Begin Mobile Server tnsnames.ora file
# TNSNAMES.ORA Network Configuration File: D:\OraLite501\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.
WEBTOGO.WORLD =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = YGGDRASILL.CFR.MSSTATE.EDU)(PORT = 1521))
(CONNECT_DATA =
(SERVICE_NAME = FIA.YGGDRASILL.CFR.MSSTATE.EDU)
WEBTOGO.WORLD.YGG =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = YGGDRASILL.CFR.MSSTATE.EDU)(PORT = 1521))
(CONNECT_DATA =
(SERVICE_NAME = FIA.YGGDRASILL.CFR.MSSTATE.EDU)
End Mobile Server tnsnames.ora file
Begin Database tnsnames.ora file
# TNSNAMES.ORA Network Configuration File: D:\oracle\ora92\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.
INST1_HTTP.CFR.MSSTATE.EDU =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = yggdrasill)(PORT = 1521))
(CONNECT_DATA =
(SERVER = SHARED)
(SERVICE_NAME = MODOSE)
(PRESENTATION = http://HRService)
FIA.CFR.MSSTATE.EDU =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = yggdrasill)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = FIA.YGGDRASILL.CFR.MSSTATE.EDU)
FIA.YGGDRASILL.CFR.MSSTATE.EDU =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = yggdrasill.cfr.msstate.edu)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = FIA.YGGDRASILL.CFR.MSSTATE.EDU)
FIA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = yggdrasill)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = FIA.YGGDRASILL.CFR.MSSTATE.EDU)
FIA.YGG =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = yggdrasill.cfr.msstate.edu)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = FIA.YGGDRASILL.CFR.MSSTATE.EDU)
EXTPROC_CONNECTION_DATA.CFR.MSSTATE.EDU =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
End Database tnsnames.ora fileDear Oracle technical representative, or user:
I need to programmatically create, and remove publications using the pure JAVA classes of Consolidator, ConsolidatorManager, and ResourceManager for the Mobile Server in OracleLite 9i Release 5.0.1. On the creation side I have managed to get the example found in the directory OraLite501\Mobile\Server\Sample\Sample11 functioning using my installation parameters. I had a very difficult time of it because (1) the sample11 code fails to open an jdbc connection to the Mobile Server Repository Schema with the function Consolidator.OpenConnection, and (2) the ResourceManager function openConnection will not work unless the Webtogo.ora file is in the current working directory. The ConsolidatorManager function OpenConnection may also not work unless the Webtogo.ora file is in the current working directory, but I did test the hypothesis. Both of these problems need to be addressed in the sample11 code, and documentation to save other software developers from wasting hours of their valuable time. See line 223, 386, and 448 in the Publish.Java code that follows this problem description.
With the above two problems resolved, I can now programmatically create publications, but no hints on how to programmatically remove a publication exist in the documentation. The application I am developing will require the dynamic creation, and removal of publications. Also, when developing applications the complete removal of a publication is absolutely necessary when you have botched a publication. Thus my first question is What sequence of ResourceManager, and ConsolidatorManager function calls will completely remove a Publication?.
I also have two issues remaining with the code that I have so far developed. These issues will most likely be resolved, when I obtain instructions on how to completely remove a publication, and associated users. But, perhaps not. Referencing the Publish.java file that follows this problem description,
1. The ResourceManager function dropUser does not drop a user. See my comments, and code beginning at line 277 in Publish.java. Do I need to de-instantiate all subscriptions, and unsubscribe all subscription users before calling this function.? I think, I tried the de-instantiate, unsubscribe sequence without success, but in the confusion I may not have made the try.
2. How do I get rid of an index created with the ConsolidatorManager function DropPublicationItemIndex?. My comments on this problem begin at line 522 in Publish.java. For some reason the DropPublicationItemIndex function call made below line 448 does not work. What function calls are required prior to calling the DropPublicationItemIndex function?
Throughout the Publish.java code, I have made comments about some of the problems that I have had in getting the sample11 code working for my installation parameters. I think these comments should help the programmers maintaining the ResourceManager, and ConsolidatorManager code improve the stability of the programs. Please pass these comments, and attached files to the appropriate individuals,
if you are in a position to do so.
The other files that follow the Publish.java code are
1. Compile.bat - Compiles Publish.java using j2sdk1.4.0.
2. Run.bat - Executes Publish using \ j2sdk1.4.0\jre\server\jvm.dll.
3. Webtogo.ora
4. tnsnames.ora for the Mobile Server.
5. tnsnames.ora for the Database.
Feel free to access my server if you need to do so in resolving my problems. The parameters you will need to gain access can be found at the top of Publish.java, and in the included *.ora files.
Thanks,
Thomas G. Matney
[email protected]
(662)325-2791
//Start of Publish.java code
// Oracle HTTP Server URL = http://yggdrasill.cfr.msstate.edu:7778
// = http://130.18.168.225:7778
// Mobile Server URL = http://yggdrasill.cfr.msstate.edu/webtogo/startup
// = http://130.18.168.225/webtogo/startup
// Mobile Server Control Center URL = http://yggdrasill.cfr.msstate.edu/webtogo
// = http://130.18.168.225/webtogo
// Mobile Server Control Center URL = http://yggdrasill.cfr.msstate.edu/webtogo
// = http://130.18.168.225/webtogo
// Mobile Server Control Center username = administrator
// Mobile Server Control Center password = admin
// Mobile Server URL = http://yggdrasill.cfr.msstate.edu/webtogo/startup
// = http://130.18.168.225/webtogo/startup
// Mobile administrator username = fiafield // Schema FIAFIELD on FIA.CFR.MSSTATE.EDU
// Mobile administrator password = fiafield // Username and password are the same
import java.sql.SQLException;
import java.sql.*;
import oracle.lite.sync.Consolidator;
import oracle.lite.sync.ConsolidatorManager;
import oracle.mobile.admin.ResourceManager;
import oracle.mobile.admin.ResException;
import oracle.sql.*;
import oracle.jdbc.*;
import oracle.mobile.admin.*;
public class Publish
// Schema names and usernames are not case sensitive.
// UN fiafield = FIAFIELD
// SCHEMA fiafield = FIAFIELD
// Schema name/Username, and password used on creation of Mobile Repository
static String CONS_SCHEMA = "fiafield";
static String DEFAULT_PASSWORD = "fiafield";
static String admin_jdbc_url = "jdbc:oracle:oci8:@WEBTOGO.WORLD";
static String thin_jdbc_url =
"jdbc:oracle:thin:@YGGDRASILL:1521:FIA.YGGDRASILL.CFR.MSSTATE.EDU";
static String Publication;
static String CreateTreeTableShortNames =
"CREATE TABLE FIAFIELD.ZMTR1TBL("
+ "id FLOAT,"
+ "subp FLOAT,"
+ "rnum FLOAT,"
+ "st FLOAT,"
+ "unit FLOAT,"
+ "cnty FLOAT,"
+ "plot FLOAT,"
+ "cyc FLOAT,"
+ "scyc FLOAT,"
+ "tree FLOAT,"
+ "ncpt FLOAT NULL,"
+ "dist FLOAT NULL,"
+ "diam FLOAT NULL,"
+ "dmht FLOAT NULL,"
+ "dmck FLOAT NULL,"
+ "spec FLOAT NULL,"
+ "lang FLOAT NULL,"
+ "nctc FLOAT NULL,"
+ "stat FLOAT NULL,"
+ "util FLOAT NULL,"
+ "deca FLOAT NULL,"
+ "crat FLOAT NULL,"
+ "ccls FLOAT NULL,"
+ "az FLOAT NULL,"
+ "cond FLOAT NULL,"
+ "tlen FLOAT NULL,"
+ "alen FLOAT NULL,"
+ "lmet FLOAT NULL,"
+ "nctg FLOAT NULL,"
+ "rcul FLOAT NULL,"
+ "ncpd FLOAT NULL,"
+ "dead FLOAT NULL,"
+ "mor FLOAT NULL,"
+ "modm FLOAT NULL,"
+ "dml1 FLOAT NULL,"
+ "dmt1 FLOAT NULL,"
+ "dms1 FLOAT NULL,"
+ "dma1 FLOAT NULL,"
+ "dml2 FLOAT NULL,"
+ "dmt2 FLOAT NULL,"
+ "dms2 FLOAT NULL,"
+ "dma2 FLOAT NULL,"
+ "dml3 FLOAT NULL,"
+ "dmt3 FLOAT NULL,"
+ "dms3 FLOAT NULL,"
+ "dma3 FLOAT NULL,"
+ "dbtr FLOAT NULL,"
+ "dbsp FLOAT NULL,"
+ "nxtn FLOAT NULL,"
+ "dbds FLOAT NULL,"
+ "dbaz FLOAT NULL,"
+ "psta FLOAT NULL,"
+ "fiat FLOAT NULL,"
+ "fhmt FLOAT NULL"
+ ")";
static String CreateTreeTableLongNames =
"CREATE TABLE FIAFIELD.ZMTR1TBL("
+ "ID FLOAT,"
+ "SUBPLOT FLOAT,"
+ "RECORD_NUMBER FLOAT,"
+ "STATE FLOAT,"
+ "UNIT FLOAT,"
+ "COUNTY FLOAT,"
+ "PLOT FLOAT,"
+ "CYCLE FLOAT,"
+ "SUBCYCLE FLOAT,"
+ "TREE FLOAT,"
+ "NC_PLOT_TYPE FLOAT,"
+ "DISTANCE FLOAT NULL,"
+ "DIAMETER FLOAT NULL,"
+ "DIAMETER_HEIGHT FLOAT NULL,"
+ "DIAMETER_CHECK FLOAT NULL,"
+ "SPECIES FLOAT NULL,"
+ "LEAN_ANGLE FLOAT NULL,"
+ "NC_TREE_CLASS FLOAT NULL,"
+ "STATUS FLOAT NULL,"
+ "UTILIZATION FLOAT NULL,"
+ "DECAY FLOAT NULL,"
+ "CROWN_RATIO FLOAT NULL,"
+ "CROWN_CLASS FLOAT NULL,"
+ "AZIMUTH FLOAT NULL,"
+ "CONDITION FLOAT NULL,"
+ "TOTAL_LENGTH FLOAT NULL,"
+ "ACTUAL_LENGTH FLOAT NULL,"
+ "LENGTH_METHOD FLOAT NULL,"
+ "NC_TREE_GRADE FLOAT NULL,"
+ "ROTTEN_CULL FLOAT NULL,"
+ "NC_PREVIOUS_DBH FLOAT NULL,"
+ "CAUSE_OF_DEATH FLOAT NULL,"
+ "MORTALITY_YEAR FLOAT NULL,"
+ "MO_DAMAGE FLOAT NULL,"
+ "DAMAGE_LOCATION1 FLOAT NULL,"
+ "DAMAGE_TYPE1 FLOAT NULL,"
+ "DAMAGE_SEVERITY1 FLOAT NULL,"
+ "NC_DAMAGE_AGENT1 FLOAT NULL,"
+ "DAMAGE_LOCATION2 FLOAT NULL,"
+ "DAMAGE_TYPE2 FLOAT NULL,"
+ "DAMAGE_SEVERITY2 FLOAT NULL,"
+ "NC_DAMAGE_AGENT2 FLOAT NULL,"
+ "DAMAGE_LOCATION3 FLOAT NULL,"
+ "DAMAGE_TYPE3 FLOAT NULL,"
+ "DAMAGE_SEVERITY3 FLOAT NULL,"
+ "NC_DAMAGE_AGENT3 FLOAT NULL,"
+ "DB_TREE FLOAT NULL,"
+ "DB_SPECIES FLOAT NULL,"
+ "NEXT_NUMBER FLOAT NULL,"
+ "DB_DISTANCE FLOAT NULL,"
+ "DB_AZIMUTH FLOAT NULL,"
+ "PREVIOUS_STATUS FLOAT NULL,"
+ "FIA_TREE_NUMBER FLOAT NULL,"
+ "FHM_TREE FLOAT NULL"
+ ")";
public static void main(String argv[]) throws Throwable
// Publish - an OKAPI sample
if(argv.length == 2)
CONS_SCHEMA = argv[0] ;
DEFAULT_PASSWORD = argv[1] ;
//create required tables using standard jdbc
//DriverManager.registerDriver ((Driver)Class.forName ("oracle.jdbc.driver.OracleDriver").newInstance ());
DriverManager.registerDriver (new oracle.jdbc.driver.OracleDriver());
Connection c = null;
Statement s = null;
try
// Open connection to Mobile Repositoty/FIAFIELD schema as SYSTEM.
// Need the ability to grant resources, and connection to Mobile Repository user
//c = DriverManager.getConnection ("jdbc:oracle:oci8:@WEBTOGO.WORLD", "SYSTEM", "phwphw" );
// Remote connection. See attached webtogo.ora.
c = DriverManager.getConnection ("jdbc:oracle:oci8:@WEBTOGO.WORLD.YGG",
"SYSTEM", "phwphw");
s = c.createStatement ();
try
s.executeUpdate("DROP table FIAFIELD.ZMTR1TBL");
catch (SQLException ee)
ee.printStackTrace ();
try
s.executeUpdate(CreateTreeTableShortNames);
catch (SQLException ee)
ee.printStackTrace ();
try
s.executeUpdate("alter table FIAFIELD.ZMTR1TBL add constraint"
+" zmtr1tbl_pk primary key(subp, tree)");
catch (SQLException ee)
ee.printStackTrace ();
// Line 223 // create consolidator publications.
try
// *****!!!!! Unless the Webtogo.ora file is in the current working
// directory the connection is not made. This version of the resource
// manager must be looking for the file in the old 8i Mobile default
// directory. This is a definite problem. If the code was working, the
// addition of the webtogo.ora should have affect on the functionality
// of the code.
// The connection is made to the Mobile Server. At least no exceptions
// are thrown, provided the webtogo.ora is in the current working
// directory.
//oracle.mobile.admin.ResourceManager.openConnection(CONS_SCHEMA, DEFAULT_PASSWORD);
// I tried making a direct connect to possibly avoid needing to have the
// webtogo.ora file in the current directory. The direct coonect did not work.
// You can quickly convince yourself that the webtogo.ora file must
// be in the current working directory, by running the code with and
// without the webtogo.ora in the current working directory.
// The directory OraLiteHome\Mobile\Server\bin is in the PATH after
// after installation but the extension .ora is not in PATHEXT. The
// OraLite installer should put .ora in PATHEXT. I tried adding .ora
// to the PATHEXT, but it still could not find thw webtogo.ora file,
// and it should have. What is going on? I am a bit rusty on DOS so
// I may not have thing right.
// OraLiteHome\Mobile\Server\bin is the residing directory for
// the functional copy of the webtogo.ora file.
oracle.mobile.admin.ResourceManager.openConnection(
CONS_SCHEMA,
DEFAULT_PASSWORD,
"jdbc:oracle:oci8:@WEBTOGO.WORLD");
catch(ResException ee)
ee.printStackTrace (); // NULL Pointer Exception?
// The Mobile user is created, and then the function throws a resource exception.
// This is a serious problem with the code. One would assume that the user
// is not created if and exception is thrown.
// This appears to be a bug in the createUser code. The function should return
// false if the user is not created, and handle, or not throw the exception.
// The function always returns false. It does return true when a user is created
// because it throws an exception.
boolean bIsCreated;
System.out.println("Begin of why is ResourceManager not dropping users?");
// Line 277
try
// The dropUser function will not drop a user. I have tested the function
// by creating the user ZMPT1UA in the Mobile Server Control Center
// http://Yggdrasill.cfr.msstate.edu/webtogo
// so I know that the user exist.
// This function throws a ResException but it is not declared correctly
// since you cannot trap the exception as a ResException. It always tells
// me the view does not exist. What steps are required to get the function
// to work? What function calls need to be made prior to calling the dropUser
// function.
oracle.mobile.admin.ResourceManager.dropUser("ZMPT1UA");
catch (Throwable ee)
ee.printStackTrace (); // NULL Pointer Exception?
System.out.println("End of why is ResourceManager not dropping users?");
try
bIsCreated = oracle.mobile.admin.ResourceManager.createUser(
"ZMPT1UA",
DEFAULT_PASSWORD,
"ZMPT1UA", "S");
catch (Throwable ee)
ee.printStackTrace (); // Ignore exception
// Obsolete or depreciated function, according to documentation?
oracle.mobile.admin.ResourceManager.commitTransaction();
// Create CONS_SCHEMA user on the database with the same username, and
// password as the user on the Mobile Server side. This is why the
// DriverManager connection was made as SYSTEM/phwphw.
// Grant ALL to repository, and user on replicated database
// On the database side there is a user with un = fiafield,
// and pw = fiafield, which is the same as the Mobile Repository
// schema name/password pair fiafield/fiafield. Can this duality
// create a problem? Probably not.
// Need SYSTEM ADMIN privilages for the next two steps, and that is
// why the coonection was established as SYSTEM/phwphw.
// Make user, and grants for Publish to user CONS_SCHEMA, and ZMPT1UA
System.out.println("Pargress point D");
try
s.execute("Create user " + "ZMPT1UA" + " identified by " + DEFAULT_PASSWORD);
catch (SQLException ee)
ee.printStackTrace (); // ignore
try
s.execute("GRANT ALL ON FIAFIELD.ZMTR1TBL to " + CONS_SCHEMA + " WITH GRANT OPTION");
catch (SQLException ee)
ee.printStackTrace (); // ignore
try
s.execute("GRANT ALL ON FIAFIELD.ZMTR1TBL to " + "ZMPT1UA" + " WITH GRANT OPTION");
catch (SQLException ee)
ee.printStackTrace (); // ignore
/* This code is not needed to test the code
// Insert items into table FIAFIELD.ZMTR1TBL from FIAFIELD.HUSKY_TREE
String Statement =
"INSERT INTO FIAFIELD.ZMTR1TBL SELECT * from FIAFIELD.HUSKY_TREE WHERE PLOT = 1";
try
s.execute(Statement);
catch (SQLException ee)
System.out.println("FIAFIELD.HUSKY_TREE was not inserted into FIAFIELD.ZMTR1TBL");
ee.printStackTrace (); // ignore
c.commit ();
catch (SQLException ee)
ee.printStackTrace ();
finally
if (s!= null) try {s.close ();}catch (SQLException e1){}
if (c!= null) try {c.close ();}catch (SQLException e2){}
// The Consolidator class is not thread safe, and I will eventually
// need thread safety. The ConsolidatorManage class is thread safe.
//Consolidator ConsolidatorXX = new Consolidator();
ConsolidatorManager ConsolidatorXX = new ConsolidatorManager();
// Line 386
// Try opening a connection. Sample11 does not open a connection, but it seems
// like a logical first thing to do.
// At least with this connection the DropPublication, and AddPublication functions
// appear to work, or at least they do not throw exceptions. The DropPublication
// throws an exception if a publication does not exist? I tested this and indeed
// if I call the DropPublication function, and do not create the Publication again
// when I reenter the program the DropPublication function throws an exception, and
// produces the correct error message(The publication does not exist). There is hope.
// It is very disturbing that the program fails unless the webtogo.ora file is not
// in the current working directory. Because the OpenConnection functions of both
// the ResourceManager, and ConsolidatorManager both appear to need access to the
// webtogo.ora file, and they are finding them in the current directory, the
// logical conclusion is that both of the classes are attempting to open the
// webtogo.ora with the relative path webtogo.ora, and not the absolute path
// OraHomeLite/Mobile/Server/Bin/webtogo.ora. As this has to be the case, why
// is this very important fact not in the documentation? Or, am I wrong?
Connection conn = null;
try
//ConsolidatorXX.OpenConnection(CONS_SCHEMA,
//DEFAULT_PASSWORD);
//ConsolidatorXX.OpenConnection(CONS_SCHEMA,
//DEFAULT_PASSWORD,
//"jdbc:oracle:oci8:@WEBTOGO.WORLD");
conn = DriverManager.getConnection
("jdbc:oracle:oci8:@WEBTOGO.WORLD",
CONS_SCHEMA,DEFAULT_PASSWORD);
//conn = DriverManager.getConnection
//("jdbc:oracle:oci8:@WEBTOGO.WORLD",
//"SYSTEM","phwphw");
ConsolidatorXX.OpenConnection(conn);
catch (Throwable e)
e.printStackTrace(); //ignore error
// Publication name
Publication = "ZMTR1PUB";
try
ConsolidatorXX.DeinstantiateSubscription(Publication, "ZMPT1UA");
catch (Throwable e)
System.out.println("Could not Deinstantiate Subscription ZMPT1UA");
e.printStackTrace(); //ignore error
// Line 448
// There is no Consolidator.OpenConnection in the orginal sample11.java code.
// Why?. It appears to be neccessary. The only way I can make the sample11 code
// or this program work is to open a jdbc connection with the Consolidator.OpenConnection
// function. I assume that somehow the Consolidator.OpenConnection function was
// deleted from sample11.java.
// This try to drop a publication index does not work, because when I try
// to recreate the index in the following code it warns me that I have a
// bad column name for the index. So it thinks the index still exist.
// Why?. How do I get rid of the index?
try
ConsolidatorXX.DropPublicationItemIndex("ZMTR1IX1");
catch (Throwable e)
e.printStackTrace(); //ignore error
try
ConsolidatorXX.DropPublicationItem("ZMTR1ITM");
catch (Throwable e)
e.printStackTrace(); //ignore error
try
ConsolidatorXX.DropPublication(Publication);
catch (Throwable e)
e.printStackTrace(); //ignore error
try
//ConsolidatorXX.CreatePublication(Publication, Consolidator.OKPI_CREATOR_ID,
//"zMTR1.%s", null);
ConsolidatorXX.CreatePublication(Publication, Consolidator.OKAPI_WINCE,
"zMTR1.%s", null);
catch (Throwable e)
e.printStackTrace(); //ignore error
try
ConsolidatorXX.DropPublicationItemIndex("ZMTR1IX1");
catch (Throwable e)
e.printStackTrace(); //ignore error
try
ConsolidatorXX.CreatePublicationItem("ZMTR1ITM","FIAFIELD","ZMTR1TBL", "F",
"SELECT * FROM FIAFIELD.ZMTR1TBL", null, null);
catch (Throwable e)
e.printStackTrace();
System.out.println("Begin of how can drop this index and get rid of the warning?");
// Line 522
// I defined the index ZMTR1IX1 originally on the variable subp, and did not get
// any warning. I then changed the index variable for the index to id, and started
// receiving the warning to check the index column for typographical errors. Even
// if I change the index variable back to subp, I continue to receive the warning.
// How do I get rid of the index and the warning, so I can recreate the index for
// another variable? I quess the real question is "How to I completely remove a
// publication, and all of its parts so I can start over?
try
ConsolidatorXX.CreatePublicationItemIndex(
"ZMTR1IX1", "ZMTR1ITM", "I", "id");
catch (Throwable e)
e.printStackTrace ();
System.out.println("End of how can drop this index and get rid of the warning?");
try
ConsolidatorXX.AddPublicationItem(
Publication, "ZMTR1ITM", null, null, "S", null, null);
catch (Throwable e)
e.printStackTrace ();
try
ConsolidatorXX.CreateSubscription(Publication, "ZMPT1UA");
catch (Throwable e)
e.printStackTrace ();
try
ConsolidatorXX.InstantiateSubscription(Publication, "ZMPT1UA");
catch (Throwable e)
e.printStackTrace ();
try
ConsolidatorXX.CloseConnection();
if(conn != null)
conn.close();
catch (Throwable e)
e.printStackTrace(); //ignore error
// Obsolete or depreciated function, according to documentation?
oracle.mobile.admin.ResourceManager.commitTransaction();
oracle.mobile.admin.ResourceManager.closeConnection();
End of Publish.java code
Begin Compile.bat
set CLASSPATH = .;D:\jdk1.4.0\lib\tools.jar;D:\OraLite501\MOBILE\classes\CONSOLIDATOR.JAR;D:\OraLite501\MOBILE\SERVER\BIN\WEBTOGO.JAR;D:\OraLite501\jdbc\lib\classes12.zip;D:\OraLite501\MOBILE\classes\classgen.jar;D:\OraLite501\MOBILE\classes\servlet.jar;D:\OraLite501\MOBILE\CLASSES\OLITE40.JAR
set PATH= d:\jdk1.4.0\jre\bin\server;d:\jdk1.4.0\bin;D:\OraLite501\bin;D:\OraLite501\Mobile\Server\bin;D:\oracle\ora92\bin;D:\OraLite501\MOBILE\sdk\bin
d:\jdk1.4.0\bin\javac Publish.java
End Compile.bat
Begin Run.bat
set CLASSPATH= .;D:\jdk1.4.0\lib\tools.jar;D:\OraLite501\MOBILE\classes\CONSOLIDATOR.JAR;D:\OraLite501\MOBILE\SERVER\BIN\WEBTOGO.JAR;D:\OraLite501\jdbc\lib\classes12.zip;D:\OraLite501\MOBILE\classes\classgen.jar;D:\OraLite501\MOBILE\classes\servlet.jar;D:\OraLite501\MOBILE\CLASSES\OLITE40.JAR
set PATH= d:\jdk1.4.0\jre\bin\server;d:\jdk1.4.0\bin;D:\OraLite501\bin;D:\OraLite501\Mobile\Server\bin;D:\oracle\ora92\bin;D:\OraLite501\MOBILE\sdk\bin
d:\jdk1.4.0\bin\java Publish
End Run.bat
Begin webtogo.ora
USE_SYSTEM_CLASSPATH = NO
MODE = SERVER
PORT = 80
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:@YGGDRASILL:1521:FIA.YGGDRASILL.CFR.MSSTATE.EDU
SITE_OFFLINE_PERIOD=0
CUSTOM_WORKSPACE=no
CUSTOM_DIRECTORY=myworkspace
DEFAULT_PAGE=myfirstpage.html
ADMIN_USER=8B37E78535B55525292A3A2929292999
ADMIN_PASSWORD=873515A838B85828292A3A2929292999
[EXTERNAL_AUTHENTICATION]
#CLASS=com.acme.SampleAuthenticator
# Web-to-go workspace's font
FONT_NAME=Arial
[FILESYSTEM]
#ROOT_DIR=%WEBTOGO_HOME%\server
#TYPE=O8
#TYPE=OL
#TYPE=OS
# Cache size in MBs
#CACHE_SIZE=10
MAX_CONNECTIONS=4
[DEBUG]
#ENABLE=YES
# The log file name.
#LOG_FILE=test.log
# Machine name and port where wsh.exe -m is running. Web-to-go
# will send debug output to that machine.
#MACHINE=
#PORT=100
[APPLICATIONS]
XMLFILE = ws1.xml
PACK_HELP=D:\OraLite501\mobile\doc\wtg\html\wtgdep.htm
[PUBLIC]
oracle.lite.sync.ConsolidatorServlet=/Consolidator
[CONSOLIDATOR]
# Installer will change these values
SERVER_VERSION=8.1.5
# 8.0.5 or 8.1.5
# 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=c:\\temp
WTG_PROXY_PORT=80
TRACE=NO
TRACE_ALL=NO
End webtogo.ora
Begin Mobile Server tnsnames.ora file
# TNSNAMES.ORA Network Configuration File: D:\OraLite501\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.
WEBTOGO.WORLD =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = YGGDRASILL.CFR.MSSTATE.EDU)(PORT = 1521))
(CONNECT_DATA =
(SERVICE_NAME = FIA.YGGDRASILL.CFR.MSSTATE.EDU)
WEBTOGO.WORLD.YGG =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = YGGDRASILL.CFR.MSSTATE.EDU)(PORT = 1521))
(CONNECT_DATA =
(SERVICE_NAME = FIA.YGGDRASILL.CFR.MSSTATE.EDU)
End Mobile Server tnsnames.ora file
Begin Database tnsnames.ora file
# TNSNAMES.ORA Network Configuration File: D:\oracle\ora92\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.
INST1_HTTP.CFR.MSSTATE.EDU =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = yggdrasill)(PORT = 1521))
(CONNECT_DATA =
(SERVER = SHARED)
(SERVICE_NAME = MODOSE)
(PRESENTATION = http://HRService)
FIA.CFR.MSSTATE.EDU =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = yggdrasill)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = FIA.YGGDRASILL.CFR.MSSTATE.EDU)
FIA.YGGDRASILL.CFR.MSSTATE.EDU =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = yggdrasill.cfr.msstate.edu)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = FIA.YGGDRASILL.CFR.MSSTATE.EDU)
FIA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = yggdrasill)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = FIA.YGGDRASILL.CFR.MSSTATE.EDU)
FIA.YGG =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = yggdrasill.cfr.msstate.edu)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = FIA.YGGDRASILL.CFR.MSSTATE.EDU)
EXTPROC_CONNECTION_DATA.CFR.MSSTATE.EDU =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
End Database tnsnames.ora file -
Trying to set up a new DB and Mobile server ....
I have a server runing ora 9i and mobile server 10.2 on linux,
Now trying to change the server to a new one with linux and
Oracle 10.1. and 10.3 as the mobile server.
Did the following steps.
1.All users were logged off in old server
2.stopped mobile server
2. Exported using system full db
3. imported the same to new system
4. Checked ADMIN_JDBC_URL,THIN_JDBC_URL and found the new server settings.
. every thing is fine except mobile server part.
when try to start mobile server it gives following.
[oracle@test bin]$ ./runmobileserver
2008-03-05 11:29:03.169 NOTIFICATION JMS Router is initiating ...
2008-03-05 11:29:04.188 ERROR J2EE HTTP0004 Internal error raised tyring to instantiate web-application: webtogo defined in web site OC4J 10g (10.1.3) Default Web Site. Application: mobileserver does not exist. Error creating Web application: webtogo
08/03/05 11:29:04 Oracle Containers for J2EE 10g (10.1.3.0.0) initialized
Then tryied ./repwizard and it says system does not have required priviledge. But as to the help section all roles were assigned to System.
if anyone has the correct method of transfering the entire db and mobileserver to a new server please post details.
I need to sync clients on the new server without refreshing.
Help is appreciated.Thanks rekounas,
I was out of the office for few days and back again at work.
I made a mistake while running the repwizard.
now its ok.
Problem was i was using mobileadmin to run repwizard.
But i tried it with database schema(back end) user and password now ok and
running on 10g r3. but it does a complete refresh on the new server. that takes time and i think there should be some parameter to make it only fast refresh.
Maybe you are looking for
-
Multiple apple ID's - iCloud drive and google drive?
I've got a variety of apple devices and am trying to work out the best way to keep documents in sync across them all. The ideal solution would be to use iCloud drive but my macbook and iPhone are on one apple ID and my wife iPad and iPhone are on ano
-
ITunes 10.6.3 memory leak
Anyone else having issues with iTunes 10.6.3 running on OSX 10.7.4 leaking memory dry and then filling up ALL your disk partition? I do - once a week now. I have a small boot SSD, but once iTunes fills up the memory it appears to be creating a 30+ G
-
Any suggestions?
-
Zen Touch problems...HELP, plea
I got my Zen Touch yesterday and charged it for a couple of hours and then downloaded some songs on it. Then tonight I turned it off and about an hour later went to turn it on and the blue power button turned on, but the screen did not? Does anyone k
-
Adobe 9, multimedia used and size
A question before I purchase Adobe 9. I'm interested in the ability to put audio and video in a .pdf. The question is, will it be too large to email to customers? Currently, most .pdfs I convert are about 1MB or a little larger. Those email just fine