ClassCastException reading blobs from MySQL

Hi,
When reading a blob (byte array) field from mysql I get a ClassCastException
exception.
Both using mysql 3.3.56 or 4.0.12 with jdbc driver 2.0.14 or 3.0.7, I get
the same error.
The same code works fine using other (sql-server, oracle) databases.
Any ideas?
configuration:
kodo 2.4.3
jdk 1.4.1-02
jboss 3.0.4
windows 2000
2003-05-15 11:22:21,123 ERROR [STDERR] javax.jdo.JDOException:
java.lang.ClassCastException
NestedThrowables:
java.lang.ClassCastException
2003-05-15 11:22:21,123 ERROR [STDERR] at
com.solarmetric.kodo.runtime.StateManagerImpl.loadField(StateManagerImpl.jav
a:2043)
2003-05-15 11:22:21,123 ERROR [STDERR] at
com.solarmetric.kodo.runtime.StateManagerImpl.isLoaded(StateManagerImpl.java
:720)
2003-05-15 11:22:21,123 ERROR [STDERR] at
dk.pine.enactment.ActionInstance.jdoGetinputParamBytes(ActionInstance.java)
2003-05-15 11:22:21,123 ERROR [STDERR] at
dk.pine.enactment.ActionInstance.getInputParams(ActionInstance.java:215)
2003-05-15 11:22:21,123 ERROR [STDERR] at
dk.pine.enactment.ejb.TransientServiceManager.findAction(TransientServiceMan
ager.java:481)
2003-05-15 11:22:21,123 ERROR [STDERR] at
dk.pine.enactment.dispatch.DispatchMDB.onMessage(DispatchMDB.java:256)
2003-05-15 11:22:21,123 ERROR [STDERR] at
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2003-05-15 11:22:21,123 ERROR [STDERR] at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
2003-05-15 11:22:21,123 ERROR [STDERR] at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
..java:25)
2003-05-15 11:22:21,133 ERROR [STDERR] at
java.lang.reflect.Method.invoke(Method.java:324)
2003-05-15 11:22:21,133 ERROR [STDERR] at
org.jboss.ejb.MessageDrivenContainer$ContainerInterceptor.invoke(MessageDriv
enContainer.java:391)
2003-05-15 11:22:21,133 ERROR [STDERR] at
org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(Cach
edConnectionInterceptor.java:186)
2003-05-15 11:22:21,133 ERROR [STDERR] at
org.jboss.ejb.plugins.MessageDrivenInstanceInterceptor.invoke(MessageDrivenI
nstanceInterceptor.java:88)
2003-05-15 11:22:21,133 ERROR [STDERR] at
org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor
..java:107)
2003-05-15 11:22:21,133 ERROR [STDERR] at
org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.
java:237)
2003-05-15 11:22:21,133 ERROR [STDERR] at
org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:98)
2003-05-15 11:22:21,133 ERROR [STDERR] at
org.jboss.ejb.plugins.RunAsSecurityInterceptor.invoke(RunAsSecurityIntercept
or.java:100)
2003-05-15 11:22:21,133 ERROR [STDERR] at
org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:208)
2003-05-15 11:22:21,133 ERROR [STDERR] at
org.jboss.ejb.MessageDrivenContainer.invoke(MessageDrivenContainer.java:302)
2003-05-15 11:22:21,133 ERROR [STDERR] at
org.jboss.ejb.plugins.jms.JMSContainerInvoker.invoke(JMSContainerInvoker.jav
a:971)
2003-05-15 11:22:21,133 ERROR [STDERR] at
org.jboss.ejb.plugins.jms.JMSContainerInvoker$MessageListenerImpl.onMessage(
JMSContainerInvoker.java:1047)
2003-05-15 11:22:21,133 ERROR [STDERR] at
org.jboss.jms.asf.StdServerSession.onMessage(StdServerSession.java:243)
2003-05-15 11:22:21,133 ERROR [STDERR] at
org.jboss.mq.SpyMessageConsumer.sessionConsumerProcessMessage(SpyMessageCons
umer.java:637)
2003-05-15 11:22:21,133 ERROR [STDERR] at
org.jboss.mq.SpyMessageConsumer.addMessage(SpyMessageConsumer.java:443)
2003-05-15 11:22:21,133 ERROR [STDERR] at
org.jboss.mq.SpySession.run(SpySession.java:297)
2003-05-15 11:22:21,133 ERROR [STDERR] at
org.jboss.jms.asf.StdServerSession.run(StdServerSession.java:178)
2003-05-15 11:22:21,133 ERROR [STDERR] at
EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.ja
va:732)
2003-05-15 11:22:21,133 ERROR [STDERR] at
java.lang.Thread.run(Thread.java:536)
2003-05-15 11:22:21,133 ERROR [STDERR] NestedThrowablesStackTrace:
2003-05-15 11:22:21,133 ERROR [STDERR] java.lang.ClassCastException
2003-05-15 11:22:21,133 ERROR [STDERR] at
dk.pine.enactment.ActionInstance.jdoReplaceField(ActionInstance.java)
2003-05-15 11:22:21,133 ERROR [STDERR] at
com.solarmetric.kodo.runtime.StateManagerImpl.replaceField(StateManagerImpl.
java:2157)
2003-05-15 11:22:21,133 ERROR [STDERR] at
com.solarmetric.kodo.runtime.StateManagerImpl.storeObjectField(StateManagerI
mpl.java:1617)
2003-05-15 11:22:21,133 ERROR [STDERR] at
com.solarmetric.kodo.impl.jdbc.ormapping.LobMapping.load(LobMapping.java:75)
2003-05-15 11:22:21,143 ERROR [STDERR] at
com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.load(JDBCStoreManage
r.java:375)
2003-05-15 11:22:21,143 ERROR [STDERR] at
com.solarmetric.kodo.runtime.StateManagerImpl.loadField(StateManagerImpl.jav
a:2035)
2003-05-15 11:22:21,143 ERROR [STDERR] at
com.solarmetric.kodo.runtime.StateManagerImpl.isLoaded(StateManagerImpl.java
:720)
2003-05-15 11:22:21,143 ERROR [STDERR] at
dk.pine.enactment.ActionInstance.jdoGetinputParamBytes(ActionInstance.java)
2003-05-15 11:22:21,143 ERROR [STDERR] at
dk.pine.enactment.ActionInstance.getInputParams(ActionInstance.java:215)
2003-05-15 11:22:21,143 ERROR [STDERR] at
dk.pine.enactment.ejb.TransientServiceManager.findAction(TransientServiceMan
ager.java:481)
2003-05-15 11:22:21,143 ERROR [STDERR] at
dk.pine.enactment.dispatch.DispatchMDB.onMessage(DispatchMDB.java:256)
2003-05-15 11:22:21,143 ERROR [STDERR] at
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2003-05-15 11:22:21,143 ERROR [STDERR] at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
2003-05-15 11:22:21,143 ERROR [STDERR] at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
..java:25)
2003-05-15 11:22:21,143 ERROR [STDERR] at
java.lang.reflect.Method.invoke(Method.java:324)
2003-05-15 11:22:21,143 ERROR [STDERR] at
org.jboss.ejb.MessageDrivenContainer$ContainerInterceptor.invoke(MessageDriv
enContainer.java:391)
2003-05-15 11:22:21,143 ERROR [STDERR] at
org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(Cach
edConnectionInterceptor.java:186)
2003-05-15 11:22:21,143 ERROR [STDERR] at
org.jboss.ejb.plugins.MessageDrivenInstanceInterceptor.invoke(MessageDrivenI
nstanceInterceptor.java:88)
2003-05-15 11:22:21,143 ERROR [STDERR] at
org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor
..java:107)
2003-05-15 11:22:21,143 ERROR [STDERR] at
org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.
java:237)
2003-05-15 11:22:21,143 ERROR [STDERR] at
org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:98)
2003-05-15 11:22:21,143 ERROR [STDERR] at
org.jboss.ejb.plugins.RunAsSecurityInterceptor.invoke(RunAsSecurityIntercept
or.java:100)
2003-05-15 11:22:21,143 ERROR [STDERR] at
org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:208)
2003-05-15 11:22:21,143 ERROR [STDERR] at
org.jboss.ejb.MessageDrivenContainer.invoke(MessageDrivenContainer.java:302)
2003-05-15 11:22:21,143 ERROR [STDERR] at
org.jboss.ejb.plugins.jms.JMSContainerInvoker.invoke(JMSContainerInvoker.jav
a:971)
2003-05-15 11:22:21,143 ERROR [STDERR] at
org.jboss.ejb.plugins.jms.JMSContainerInvoker$MessageListenerImpl.onMessage(
JMSContainerInvoker.java:1047)
2003-05-15 11:22:21,143 ERROR [STDERR] at
org.jboss.jms.asf.StdServerSession.onMessage(StdServerSession.java:243)
2003-05-15 11:22:21,143 ERROR [STDERR] at
org.jboss.mq.SpyMessageConsumer.sessionConsumerProcessMessage(SpyMessageCons
umer.java:637)
2003-05-15 11:22:21,143 ERROR [STDERR] at
org.jboss.mq.SpyMessageConsumer.addMessage(SpyMessageConsumer.java:443)
2003-05-15 11:22:21,143 ERROR [STDERR] at
org.jboss.mq.SpySession.run(SpySession.java:297)
2003-05-15 11:22:21,143 ERROR [STDERR] at
org.jboss.jms.asf.StdServerSession.run(StdServerSession.java:178)
2003-05-15 11:22:21,143 ERROR [STDERR] at
EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.ja
va:732)
2003-05-15 11:22:21,143 ERROR [STDERR] at
java.lang.Thread.run(Thread.java:536)

Jesper-
Strange. What is the type of the field? Is it a byte array? There are
some special workarounds in the MySQLDictionary class to get around bugs
in the MySQL JDBC driver, that might be conflicting with your field
type.
In article <[email protected]>, Jesper Ladegaard wrote:
Hi,
When reading a blob (byte array) field from mysql I get a ClassCastException
exception.
Both using mysql 3.3.56 or 4.0.12 with jdbc driver 2.0.14 or 3.0.7, I get
the same error.
The same code works fine using other (sql-server, oracle) databases.
Any ideas?
configuration:
kodo 2.4.3
jdk 1.4.1-02
jboss 3.0.4
windows 2000
2003-05-15 11:22:21,123 ERROR [STDERR] javax.jdo.JDOException:
java.lang.ClassCastException
NestedThrowables:
java.lang.ClassCastException
2003-05-15 11:22:21,123 ERROR [STDERR] at
com.solarmetric.kodo.runtime.StateManagerImpl.loadField(StateManagerImpl.jav
a:2043)
2003-05-15 11:22:21,123 ERROR [STDERR] at
com.solarmetric.kodo.runtime.StateManagerImpl.isLoaded(StateManagerImpl.java
:720)
2003-05-15 11:22:21,123 ERROR [STDERR] at
dk.pine.enactment.ActionInstance.jdoGetinputParamBytes(ActionInstance.java)
2003-05-15 11:22:21,123 ERROR [STDERR] at
dk.pine.enactment.ActionInstance.getInputParams(ActionInstance.java:215)
2003-05-15 11:22:21,123 ERROR [STDERR] at
dk.pine.enactment.ejb.TransientServiceManager.findAction(TransientServiceMan
ager.java:481)
2003-05-15 11:22:21,123 ERROR [STDERR] at
dk.pine.enactment.dispatch.DispatchMDB.onMessage(DispatchMDB.java:256)
2003-05-15 11:22:21,123 ERROR [STDERR] at
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2003-05-15 11:22:21,123 ERROR [STDERR] at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
2003-05-15 11:22:21,123 ERROR [STDERR] at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
.java:25)
2003-05-15 11:22:21,133 ERROR [STDERR] at
java.lang.reflect.Method.invoke(Method.java:324)
2003-05-15 11:22:21,133 ERROR [STDERR] at
org.jboss.ejb.MessageDrivenContainer$ContainerInterceptor.invoke(MessageDriv
enContainer.java:391)
2003-05-15 11:22:21,133 ERROR [STDERR] at
org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(Cach
edConnectionInterceptor.java:186)
2003-05-15 11:22:21,133 ERROR [STDERR] at
org.jboss.ejb.plugins.MessageDrivenInstanceInterceptor.invoke(MessageDrivenI
nstanceInterceptor.java:88)
2003-05-15 11:22:21,133 ERROR [STDERR] at
org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor
.java:107)
2003-05-15 11:22:21,133 ERROR [STDERR] at
org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.
java:237)
2003-05-15 11:22:21,133 ERROR [STDERR] at
org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:98)
2003-05-15 11:22:21,133 ERROR [STDERR] at
org.jboss.ejb.plugins.RunAsSecurityInterceptor.invoke(RunAsSecurityIntercept
or.java:100)
2003-05-15 11:22:21,133 ERROR [STDERR] at
org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:208)
2003-05-15 11:22:21,133 ERROR [STDERR] at
org.jboss.ejb.MessageDrivenContainer.invoke(MessageDrivenContainer.java:302)
2003-05-15 11:22:21,133 ERROR [STDERR] at
org.jboss.ejb.plugins.jms.JMSContainerInvoker.invoke(JMSContainerInvoker.jav
a:971)
2003-05-15 11:22:21,133 ERROR [STDERR] at
org.jboss.ejb.plugins.jms.JMSContainerInvoker$MessageListenerImpl.onMessage(
JMSContainerInvoker.java:1047)
2003-05-15 11:22:21,133 ERROR [STDERR] at
org.jboss.jms.asf.StdServerSession.onMessage(StdServerSession.java:243)
2003-05-15 11:22:21,133 ERROR [STDERR] at
org.jboss.mq.SpyMessageConsumer.sessionConsumerProcessMessage(SpyMessageCons
umer.java:637)
2003-05-15 11:22:21,133 ERROR [STDERR] at
org.jboss.mq.SpyMessageConsumer.addMessage(SpyMessageConsumer.java:443)
2003-05-15 11:22:21,133 ERROR [STDERR] at
org.jboss.mq.SpySession.run(SpySession.java:297)
2003-05-15 11:22:21,133 ERROR [STDERR] at
org.jboss.jms.asf.StdServerSession.run(StdServerSession.java:178)
2003-05-15 11:22:21,133 ERROR [STDERR] at
EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.ja
va:732)
2003-05-15 11:22:21,133 ERROR [STDERR] at
java.lang.Thread.run(Thread.java:536)
2003-05-15 11:22:21,133 ERROR [STDERR] NestedThrowablesStackTrace:
2003-05-15 11:22:21,133 ERROR [STDERR] java.lang.ClassCastException
2003-05-15 11:22:21,133 ERROR [STDERR] at
dk.pine.enactment.ActionInstance.jdoReplaceField(ActionInstance.java)
2003-05-15 11:22:21,133 ERROR [STDERR] at
com.solarmetric.kodo.runtime.StateManagerImpl.replaceField(StateManagerImpl.
java:2157)
2003-05-15 11:22:21,133 ERROR [STDERR] at
com.solarmetric.kodo.runtime.StateManagerImpl.storeObjectField(StateManagerI
mpl.java:1617)
2003-05-15 11:22:21,133 ERROR [STDERR] at
com.solarmetric.kodo.impl.jdbc.ormapping.LobMapping.load(LobMapping.java:75)
2003-05-15 11:22:21,143 ERROR [STDERR] at
com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.load(JDBCStoreManage
r.java:375)
2003-05-15 11:22:21,143 ERROR [STDERR] at
com.solarmetric.kodo.runtime.StateManagerImpl.loadField(StateManagerImpl.jav
a:2035)
2003-05-15 11:22:21,143 ERROR [STDERR] at
com.solarmetric.kodo.runtime.StateManagerImpl.isLoaded(StateManagerImpl.java
:720)
2003-05-15 11:22:21,143 ERROR [STDERR] at
dk.pine.enactment.ActionInstance.jdoGetinputParamBytes(ActionInstance.java)
2003-05-15 11:22:21,143 ERROR [STDERR] at
dk.pine.enactment.ActionInstance.getInputParams(ActionInstance.java:215)
2003-05-15 11:22:21,143 ERROR [STDERR] at
dk.pine.enactment.ejb.TransientServiceManager.findAction(TransientServiceMan
ager.java:481)
2003-05-15 11:22:21,143 ERROR [STDERR] at
dk.pine.enactment.dispatch.DispatchMDB.onMessage(DispatchMDB.java:256)
2003-05-15 11:22:21,143 ERROR [STDERR] at
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2003-05-15 11:22:21,143 ERROR [STDERR] at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
2003-05-15 11:22:21,143 ERROR [STDERR] at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
.java:25)
2003-05-15 11:22:21,143 ERROR [STDERR] at
java.lang.reflect.Method.invoke(Method.java:324)
2003-05-15 11:22:21,143 ERROR [STDERR] at
org.jboss.ejb.MessageDrivenContainer$ContainerInterceptor.invoke(MessageDriv
enContainer.java:391)
2003-05-15 11:22:21,143 ERROR [STDERR] at
org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(Cach
edConnectionInterceptor.java:186)
2003-05-15 11:22:21,143 ERROR [STDERR] at
org.jboss.ejb.plugins.MessageDrivenInstanceInterceptor.invoke(MessageDrivenI
nstanceInterceptor.java:88)
2003-05-15 11:22:21,143 ERROR [STDERR] at
org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor
.java:107)
2003-05-15 11:22:21,143 ERROR [STDERR] at
org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.
java:237)
2003-05-15 11:22:21,143 ERROR [STDERR] at
org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:98)
2003-05-15 11:22:21,143 ERROR [STDERR] at
org.jboss.ejb.plugins.RunAsSecurityInterceptor.invoke(RunAsSecurityIntercept
or.java:100)
2003-05-15 11:22:21,143 ERROR [STDERR] at
org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:208)
2003-05-15 11:22:21,143 ERROR [STDERR] at
org.jboss.ejb.MessageDrivenContainer.invoke(MessageDrivenContainer.java:302)
2003-05-15 11:22:21,143 ERROR [STDERR] at
org.jboss.ejb.plugins.jms.JMSContainerInvoker.invoke(JMSContainerInvoker.jav
a:971)
2003-05-15 11:22:21,143 ERROR [STDERR] at
org.jboss.ejb.plugins.jms.JMSContainerInvoker$MessageListenerImpl.onMessage(
JMSContainerInvoker.java:1047)
2003-05-15 11:22:21,143 ERROR [STDERR] at
org.jboss.jms.asf.StdServerSession.onMessage(StdServerSession.java:243)
2003-05-15 11:22:21,143 ERROR [STDERR] at
org.jboss.mq.SpyMessageConsumer.sessionConsumerProcessMessage(SpyMessageCons
umer.java:637)
2003-05-15 11:22:21,143 ERROR [STDERR] at
org.jboss.mq.SpyMessageConsumer.addMessage(SpyMessageConsumer.java:443)
2003-05-15 11:22:21,143 ERROR [STDERR] at
org.jboss.mq.SpySession.run(SpySession.java:297)
2003-05-15 11:22:21,143 ERROR [STDERR] at
org.jboss.jms.asf.StdServerSession.run(StdServerSession.java:178)
2003-05-15 11:22:21,143 ERROR [STDERR] at
EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.ja
va:732)
2003-05-15 11:22:21,143 ERROR [STDERR] at
java.lang.Thread.run(Thread.java:536)
Marc Prud'hommeaux [email protected]
SolarMetric Inc. http://www.solarmetric.com

Similar Messages

  • Reading BLOB from SQL Server 2005 using DB Link from Oracle 10g

    Hi All,
    I am trying to read a table's data from SQL Server 2005 using ODBC DB Link created in Oracle 10g (10.2.0.3/4) database. I am not using oracle gateway.
    I am able read all data except for the BLOB data from SQL server 2005. It gives error given below when I try to execute query SELECT * from T_TRANSACTION_DATA@sdeslink inside a stored procedure:
    ORA-22992: cannot use LOB locators selected from remote tables
    Kindly help how to read BLOB from SQL server 2005 inside Oracle 10g.
    Best Regards!
    Irfan

    Irfan,
    If you can read the blob data using 10.2 HSODBC then there should be no problem using the 11g gateway.
    I recommend you download the latest version which is 11.2.0.3 available from My oracle Support as -
    Patch 10404530: 11.2.0.3.0 PATCH SET FOR ORACLE DATABASE SERVER
    This is a full version and does not need a previous version to have bene installed. When installing it needs to be in a completlely separate ORACLE_HOME from the existing 11.2 install.
    For the Ora-22992 problem have a look at this note in My Oracle Support -
    Ora-22992 has a workaround in 10gR2 (Doc ID 436707.1)
    Regards,
    Mike

  • Retriving blob from MYSQL

    i saw a code here given by aniseed to store image in DB.Will the reverse work for retrieval.....

    Try this. It works for me with Oracle but does not depend on any vendor-specific class so it might have a chance with mySQL.
    public void testThree(String idx)
    StringBuffer query;
    Statement stmt;
    ResultSet rs = null;
    Blob aBlob;
    String blobStr;
    long blobLength;
    String savedMethod = activeMethod;
    activeMethod = "testThree";
    query = new StringBuffer("SELECT blob_file FROM REP_MIBS WHERE idx_ind = ");
    query.append(idx);
    try
    stmt = dbCon.createStatement();
    rs = stmt.executeQuery(query.toString());
    if (!rs.next()) EventLog.writeLog(this, "Bummer: result set is empty.", EventLog.ERROR);
    aBlob = rs.getBlob(1);
    rs.close();
    // An empty blob appears with a length of zero, not as a null entity.
    if (aBlob == null) EventLog.writeLog(this, "data_lump is null???", EventLog.ERROR);
    blobLength = aBlob.length();
    EventLog.writeLog(this, "data_lump at index " + idx + " had data, length " + aBlob.length(), EventLog.INFO);
    if (blobLength > 0)
    byte[] buff = new byte[2000];
    InputStream istr = aBlob.getBinaryStream();
    FileOutputStream fout = new FileOutputStream("blobdump.txt");
    int i;
    while ((i = istr.read(buff)) > 0)
    fout.write(buff, 0, i);
    fout.flush();
    fout.close();
    catch (Exception ex)
    EventLog.writeLog(this, ex.getMessage(), EventLog.ERROR);
    activeMethod = savedMethod;
    HTH,
    Graeme
    P.S. EventLog is my own logging class. Substitute System.out.println(). dbCon is the Connection (which got set up elsewhere).

  • Oracle 9i reading BLOB performance issues

    Windows XP Pro SP2
    JDK 1.5.0_05
    Oracle 9i
    Oracle Thin Driver for JDK 1.4 v.10.2.0.1.0
    DBCP v.1.2.1
    Spring v1.2.7 (I am using the JDBC template for convenience)
    I have run into serious performance issues reading BLOBs from Oracle using oracle's JDBC thin driver. I am not sure if it a constraint/mis-configuration with oracle or a JDBC problem.
    I am hoping that someone has some experience accessing multi-MB BLOBs under heavy volume.
    We are considering using Oracle 8 or 9 as a document repository. It will end up storing hundreds of thousands of PDFs that can be as large as 30 MBs. We don't have access to Oracle 10.
    TESTS
    I am running tests against Oracle 8 and 9 to simulate single and multi-threaded document access. Out goal is to get a sense of KBps throughput and BLOB data access contention.
    DATA
    There is a single test table with 100 rows. Each row has a PK id and a BLOB field. The blobs range in size from a few dozen KB to 12MB. They represent a valid sample of production data. The total data size is approx. 121 MBs.
    Single Threaded Test
    The test selects a single blob object at a time and then reads the contents of the blob's binary input stream in 2 KB chunks. At the end of the test, it will have accessed all 100 blobs and streamed all 121 MBs. The test harness is JUnit.
    8i Results: On 8i it starts and terminates successfully on a steady and reliable basis. The throughput hovers around 4.8 MBps.
    9i Results: Similar reliability to 8i. The throughput is about 30% better.
    Multi-Threaded Test
    The multi-threaded test uses the same "blob reader" functionality used in the single threaded test. However, it spawns 8 threads each running a separate "blob reader".
    8i Results: The tests successfully complete on a reliable basis. The aggregate throughput of all 8 threads is a bit more than 4.8 MBps.
    9i Results: Erratic. The tests were highly erratic on 9i. Threads would intermittently lock when accessing a BLOB's output stream. Sometimes they lock accessing data from the same row, othertimes it is distinct rows. The number and the timing of the thread "locks" is indeterminate. When the test completed successfully the aggregate throughput of the 8 threads was approx. 5.4 MBps.
    I would be more than happy to post code or the data model if that would help.
    Carlos

    Hi Murphy16,
    Try investigate where are the principal issues in your RAC system.
    Check:
    * Expensive SQL's;
    * Sorts in disks;
    * Wait Events;
    * Interconnect hardware issues;
    * Applications doing unnecessary manual LOCKs (SQL);
    * If SGA is adequatly sized (take care to not use of SWAP space "DISK");
    * Backup's and unnecessary jobs running at business time (Realocate this jobs and backups to night window or a less intensive work hour at database);
    * Rebuild indexes and identify tables that must be reorganized (fragmentation);
    * Verify another software consuming resources on your server;
    Please give us more info about your environment. The steps above are general, but you can use to guide u in basic performance issues.
    Regards,
    Rodrigo Mufalani
    http://mufalani.blogspot.com

  • How to read data from database to applet

    hi i am writing a program below which reads data from mysql database successfully ;
    import java.sql.*;
    import java.lang.*;
    import java.util.*;
    public class Read_Capital_country_from_database {
    public static void main (String args[] ){
    int index,mess;
    String country_arr[] = new String[250];
    String capital_arr[] = new String[250];
    int i = 0 ;
    String URL = "jdbc:mysql://localhost/allusers";
    String user = "shadab";
    String password ="shadab@123";
    try {
    Class.forName("com.mysql.jdbc.Driver");
    Connection conn = DriverManager.getConnection(URL,user,password);
    for( SQLWarning warn = conn.getWarnings(); warn != null; warn = warn. getNextWarning() )
    System.out.println( "SQL Warning:" ) ;
    System.out.println( "State : " + warn.getSQLState() ) ;
    System.out.println( "Message: " + warn.getMessage() ) ;
    System.out.println( "Error : " + warn.getErrorCode() ) ;
    String sql = "select * from country_capital";
    Statement stmt = conn.createStatement();
    ResultSet rs = stmt.executeQuery(sql);
    while( rs.next() ) {
    System.out.println( rs.getString(1) );
    System.out.println(" " +rs.getString(2) );
    System.out.println();
    catch (SQLException se){
    System.out.println( "SQL Exception:" ) ;
    System.out.println("Exception - raju");
    while( se != null )
    System.out.println( "State : " + se.getSQLState() ) ;
    System.out.println( "Message: " + se.getMessage() ) ;
    System.out.println( "Error : " + se.getErrorCode() ) ;
    se = se.getNextException() ;
    catch( Exception e )
    System.out.println( e ) ;
    java Read_Capital_country_from_database
    OUT PUT OF ABOVE PROGRAM IS :
    INDIA NEW DELHI
    PAKISTAN ISLAMABAD
    AFGHANISTAN KABUL
    BUT SAME PROGRAM WHEN I GO TO WRITE IN APPLET
    THIS TIME APPLET DOES OPEN BUT ERROR SHOWS ON STANDARD OUT PUT
    java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
    THIS IS THE PROGRAM WRITTEN FOR JAVA APPLET
    import java.sql.*;
    import java.lang.*;
    import java.util.*;
    import java.awt.*;
    import java.awt.event.*;
    import java.applet.*;
    public class Read_Capital_country_from_database extends Applet {
    Choice country, capital;
    String msg=" ", msg1;
    int index,mess;
    String country_arr[] = new String[250];
    String capital_arr[] = new String[250];
    char chr;
    int i = 0;
    public void init() {
    country = new Choice();
    capital = new Choice();
    String URL = "jdbc:mysql://localhost/allusers";
    String user = "shadab";
    String password ="shadab@123";
    try {
    Class.forName("com.mysql.jdbc.Driver");
    Connection conn = DriverManager.getConnection(URL,user,password);
    for( SQLWarning warn = conn.getWarnings(); warn != null; warn = warn. getNextWarning() )
    System.out.println( "SQL Warning:" ) ;
    System.out.println( "State : " + warn.getSQLState() ) ;
    System.out.println( "Message: " + warn.getMessage() ) ;
    System.out.println( "Error : " + warn.getErrorCode() ) ;
    String sql = "select * from country_capital";
    Statement stmt = conn.createStatement();
    ResultSet rs = stmt.executeQuery(sql);
    while( rs.next() ) {
    country_arr[i] = rs.getString(1);
    country.add(country_arr);
    capital_arr[i] = rs.getString(2);
    capital.add(capital_arr[i]);
    i++;
    catch (SQLException se){
    System.out.println( "SQL Exception:" ) ;
    System.out.println("Exception - raju");
    while( se != null )
    System.out.println( "State : " + se.getSQLState() ) ;
    System.out.println( "Message: " + se.getMessage() ) ;
    System.out.println( "Error : " + se.getErrorCode() ) ;
    se = se.getNextException() ;
    catch( Exception e )
    System.out.println( e ) ;
    add(country);
    add(capital);

    It doesn't make sense to read a database directly from an applet. If an applet needs data from a database is should request if from the server which the applet is located on and the server should do the actual database actions.
    The whole point of applets is that they require no installation on the client machine. If you have to change policy files or the like, you might as well install a Swing application. Furthermore accessing a database tends to depend on how the client is set up on the network. Any sensible network has firewall settings that block access to the database ports to any external access (and, again, if you are limiting the facility to a few internal machines then why not just install a program on them).

  • Offline data migration fails for BLOB field from MySQL 5.0 to 11g

    I tried to use standalone Data Migration several years ago to move a database from MySQL to Oracle. At that time it was unable to migrate blob fields. I am trying again, hoping this issue might have been fixed in the mean time. That does not appear to be the case. The rows in question have a single BLOB field (it is a binary encoding of a serialized Java object, containing on the order of 1-2K bytes, a mixture of plain text and a small amount of non-ASCII data which is presumably part of the structure of the Java object). The mysqldump appears to correctly store the data, surrounded by the expected <EOFD> and <EORD> separators. The data as imported consists of a small (roughly 1-200) ASCII characters, apparently hex encoded, because if I do a hex dump of the mysqldump I can recognized some of the character pairs that appear in the blob field after import. However, they are apparently flipped within the word or otherwise displaced from each other (although both source and destinations machines are x86 family), and the imported record stops long before all the data is encoded.
    For example, here is a portion of the record as imported:
    ACED0005737200136A6
    and here is a hex dump of the input
    0000000 3633 3838 3037 3c39 4f45 4446 303e 3131
    0000020 3036 3830 3836 453c 464f 3e44 312d 453c
    0000040 464f 3e44 6e49 7473 7469 7475 6f69 446e
    0000060 7461 3c61 4f45 4446 ac3e 00ed 7305 0072
    0000100 6a13 7661 2e61 7475 6c69 482e 7361 7468
    0000120 6261 656c bb13 250f 4a21 b8e4 0003 4602
    0000140 0a00 6f6c 6461 6146 7463 726f 0049 7409
    0000160 7268 7365 6f68 646c 7078 403f 0000 0000
    AC ED appears in the 5th and 6th word of the 4th line, 00 05 in the 6th and 7th words, etc.
    I see explicit references to using hex encoding for MS SQL and other source DB's, but not for mysql.
    I suspect the encoder is hitting some character within the binary data that is aborting the encoding process, because so far the records I've looked at contain the same data (roughly 150 characters) for every record, and when I look at the binary input, it appears to be part of the Java object structure which may repeat for every record.
    Here is the ctl code:
    load data
    infile 'user_data_ext.txt' "str '<EORD>'"
    into table userinfo.user_data_ext
    fields terminated by '<EOFD>'
    trailing nullcols
    internal_id NULLIF internal_id = 'NULL',
    rt_number "DECODE(:rt_number, 'NULL', NULL, NULL, ' ', :rt_number)",
    member_number "DECODE(:member_number, 'NULL', NULL, NULL, ' ', :member_number)",
    object_type "DECODE(:object_type, 'NULL', NULL, NULL, ' ', :object_type)",
    object_data CHAR(2000000) NULLIF object_data = 'NULL'
    )

    It looks like the data is actually being converted correctly. What threw me off was the fact that the mysql client displays the actual blob bytes, while sqlplus automatically converts them to hex for display, but only shows about 2 lines of the hex data. When I check field lengths they are correct.

  • Problem with Pro*C reading BLOB field from Oracle 10g

    Hello Experts,
    We have a Pro*c application which is reading the BLOB data fields (a PNG image file) from Oracle data base. It holds the BLOB fields returned from the SQL query into a Unsigned Char structure in Pro*C. The program used work fine on AIX 32 – bit 4.3 and Oracle 8.1 environment.
    Recently, we have upgraded the environment to AIX 64-bit 5.3 and Oracle 10g.Since after the Pro*c program has problem in reading the Blob filed.
    Below is the query we are trying to execute –
    EXEC SQL
    SELECT
    signtre_image, image_file_name_ext
    INTO
    :msipLocalImage INDICATOR :msipLocalImage_i,
    :file_name_ext INDICATOR :file_name_ext_i
    FROM
    dcs_sign
    WHERE
    signtre_nbr = :signtre_nbr;
    Here signtre_image is the BLOB fields and msipLocalImage is a Pro*C structure define as below –
    typedef struct tagSignImage
    long len; /* Image length */
    unsigned char img[1]; /* Pointer to first byte. */
    } MOTS_SIGN_IMAGE;
    The quesry does not give any error or exception message in the Pro*C , program just stops at the point of executing the quesry..When we run the query commenting the BLOB filed it works fine. Also, the query runs good when we run it in the Oracle editor.
    There seems to be problem with the way we are reading the BLOB field in the new Oracle 10g enviromet.
    Does any body have any idea what’s wrong with this query? We really need it to work.
    Any Help will be greatly appreciated.
    Thanks,
    - Rajan Yadav

    Thanks a ton for your response.
    We made the necessary changes as suggested by you.This time we got another flavour of error - SQL Error Code - Inconsistent error while reading BLOB.
    Another thing we noticed is that the data field which we are trying to read is defined as LONG RAW instead of a BLOB in data base.
    Are these two things related in any sense or is there anything else which is causing the error.
    Once again Thanks for your help.
    - Rajan Yadav

  • Please help, I need to read blob and output in bytes from wwv_flow_files.

    Hi all,
    I am having a requirement to read a blob stored in the oracle table and convert it into bytes. I am loading this table (wwv_flow_files) with APEX.
    The code under page 1 is as follows:
    DECLARE
    z number;
    y varchar2(4000);
    x varchar2(400);
    b blob;
    BEGIN
    select filename,blob_content into x ,b from APEX_APPLICATION_files where name =:P1_FILE_NAME;
    select length(convertBlobToBytes(b)) into z from dual;
    :P1_RESULT := z;
    end;
    Java code is as follows:
    import java.io.*;
    import java.sql.Blob;
    public class convertBlob {
    * @param blob
    * @return
    public static byte[] convertBlobToBytes(Blob blob) {
    if (blob==null) return null;
    try {
    InputStream in = blob.getBinaryStream();
    int len = (int) blob.length(); //read as long
    long pos = 1; //indexing starts from 1
    byte[] bytes = blob.getBytes(pos, len);
    in.close();
    return bytes;
    catch (Exception e) {
    System.out.println(e.getMessage());
    return null;
    PL/SQL wrapper is as follows:
    CREATE OR REPLACE FUNCTION convertBlobToBytes(p1 IN BLOB) RETURN LONG RAW AUTHID CURRENT_USER AS LANGUAGE JAVA NAME 'convertBlob.convertBlobToBytes(java.sql.Blob) return byte[]';
    I loaded this java class and pl/sql wrapper into the database using JDEVELOPER.
    But I am getting the length of the file, as twice the size.
    For example, When I run the program which reads the file returns the length of the file as a byte array, the length is 819.
    When I pass the same file as a blob from apex, to the java program that converts blob to bytes, the length of the file is 1638.
    And hence I am getting wrong results, further in the process.
    Can you please help me? Any help is appreciated.
    rgds,
    Suma.

    The example on this page is showing how to read a blob in portions you determine yourself:
    http://apex.oracle.com/pls/otn/f?p=31517:91
    Denes Kubicek
    http://deneskubicek.blogspot.com/
    http://www.opal-consulting.de/training
    http://apex.oracle.com/pls/otn/f?p=31517:1
    -------------------------------------------------------------------

  • Plesae help- needing to read a blob from db into bytes[]

    Hi all,
    I am having a requirement to read a blob stored in the oracle table and convert it into bytes. I am loading this table (wwv_flow_files) with APEX.
    The code under page 1 is as follows:
    DECLARE
    z number;
    y varchar2(4000);
    x varchar2(400);
    b blob;
    BEGIN
    select filename,blob_content into x ,b from APEX_APPLICATION_files where name =:P1_FILE_NAME;
    select length(convertBlobToBytes(b)) into z from dual;
    :P1_RESULT := z;
    end;
    Java code is as follows:
    import java.io.*;
    import java.sql.Blob;
    public class convertBlob {
    * @param blob
    * @return
    public static byte[] convertBlobToBytes(Blob blob) {
         if (blob==null) return null;
         try {
         InputStream in = blob.getBinaryStream();
         int len = (int) blob.length(); //read as long     
    long pos = 1; //indexing starts from 1
         byte[] bytes = blob.getBytes(pos, len);           
    in.close();
         return bytes;     
    catch (Exception e) {
         System.out.println(e.getMessage());
         return null;
    PL/SQL wrapper is as follows:
    CREATE OR REPLACE FUNCTION convertBlobToBytes(p1 IN BLOB) RETURN LONG RAW AUTHID CURRENT_USER AS LANGUAGE JAVA NAME 'convertBlob.convertBlobToBytes(java.sql.Blob) return byte[]';
    I loaded this java class and pl/sql wrapper into the database using JDEVELOPER.
    But I am getting the length of the file, as twice the size.
    For example, When I run the program which reads the file returns the length of the file as a byte array, the length is 819.
    When I pass the same file as a blob from apex, to the java program that converts blob to bytes, the length of the file is 1638.
    And hence I am getting wrong results, further in the process.
    Can you please help me? Any help is appreciated.
    rgds,
    Suma.

    Hi all,
    Can any of you please help me out?
    rgds,
    Suma.

  • Reading bytes from CLOB not BLOB

    I know that DBMS_LOB.SUBSTR can read number of bytes (for BLOBs) or characters (for CLOBs).
    What I want is to read bytes from BLOB instead of characters.
    The following tries to read 4000 bytes. Unfortunately It fails to read 4000 bytes if size of CLOB_COLUMN is bigger than 4000 bytes.
    select dbms_lob.substr(utl_raw.cast_to_raw(CLOB_COLUMN),4000,1) from dualIs it possible to get only these 4000 bytes from CLOB_COLUMN?
    Thank you in advance.

    Welcome to the forum.
    Unfortunately It fails to read 4000 bytes if size of CLOB_COLUMN is bigger than 4000 bytes.Could it be you're mixing up things?
    DBMS_LOB.SUBSTR reads bytes from BLOBS, characters from CLOBS.
    "amount Number of bytes (for BLOBs) or characters (for CLOBs) to be read."
    http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14258/d_lob.htm#sthref3199
    No need to cast_to_raw, afaik:
    SQL> create table t as select to_clob(lpad('*', 10000, '*')) clob_col from dual;
    Table created.
    SQL> desc t;
    Name                                                                   Null?    Type
    CLOB_COL                                                                        CLOB
    SQL> select substr(clob_col,1, 4000) substr
      2  ,      length(substr(clob_col,1, 4000)) substr_lngth
      3  ,      dbms_lob.substr(clob_col, 4000, 1) lob_substr
      4  ,      length(dbms_lob.substr(clob_col, 4000, 1)) lob_substr_length
      5  from t;
    SUBSTR                                                                           SUBSTR_LNGTH
    LOB_SUBSTR
    LOB_SUBSTR_LENGTH
    ********************************************************************************         4000
                 4000
    1 row selected.

  • I cant read correct single quote from mySQL database...

    I cant read correct single quote from mySQL database, pls help. What i'm talking about. I must import, "J'adore" for example in my DB and I'm doing this. Thats ok. But when I try to read this value from my DB through JDBC I'm receiving SQL exception (because JDBC thinks that i didn't close may quote). If somebody knows solution for this problem lets tell me.

    I'm not sure I got your question correctly, but maybe
    this solves your problem:
    Connection conn = // Wherever you get it from
    PreparedStatement query =
    = conn.prepareStatement("INSERT INTO table_A (field_A) VALUES (?)");
    query.setString(1, "J'adore");
    query.execute();
    query.close()Regards, Eirikthe select variation which i think you mean the WHERE clause would be...
    Connection conn = // Wherever you get it from
    PreparedStatement query = conn.prepareStatement("SELECT * FROM table_A WHERE field_A = ?");
    query.setString(1, "J'adore");
    ResultSet rs = query.executeQuery();

  • Flash reading binary from a database

    i'm storing videos and images inside a blob in mysql and i
    need to have flash 8 read the files. right now i'm querying the
    database using php and then converting the php page to xml and then
    flash is parsing the xml. i need any feedback i can get. thanks in
    advance.

    Sounds feasible if DB is on the same server as your web server. You'll need the MySQL JDBC drivers which you can get from the MySQL site.
    Note however that a more common way of doing this is to have you Applet send the parameters for the query to a servlet, have the servlet query the database and return the results to the Applet for display.

  • Getting data from MySQL

    I'm a web developer that is familiar with PHP and MySQL. I
    just started working with a guy who has created a site in Flash for
    a client, and I've created the backend in PHP. It was understood
    that all I'd have to do would be to PUT information into the
    database and he'd pull it out on the site. Things have changed and
    I've been asked to pull the data down for him.
    I've Googled to find out that it's possible to get data from
    MySQL into Flash via a textfile formated as such: 'myVar=[data]'. I
    don't know the specifics, but I can figure that all out. However, I
    have two particular questions regarding the data:
    1.) How does Flash handle HTML formatting? The CMS I've
    written allows an administrator to input plain HTML and I store
    that in the database; how will that translate into Flash? Does
    Flash have an HTML parser? I've been having trouble filtering
    through searches on Google about using HTML to put Flash on a page
    instead of Flash parsing HTML. I read on another forum that Flash
    has an HTML 1.0 parser, but the post was dated August 2003.
    2.) I've also been storing images as BLOBs in MySQL. How do
    I go about pulling these images out? Of the tutorials I've found on
    Google, all I can hit with my searches are scenarios in which
    people store image
    paths in the database, and output them in the same textfile,
    'myImage=/images/image.jpg' etc.
    [url=http://forums.devarticles.com/web-development-40/flash-mysql-longblobs-9659.html]Thi s
    unanswered forum post off-site[/url], is similar to what I'm trying
    to do, but I'd need to display many images in a flash movie and I
    don't think passing them via src would work.
    I'm not necessarily asking for complete solutions for these
    problems, I just need to be pointed in the correct direction, maybe
    a function or a document I'm missing.

    quote:
    Originally posted by:
    MotionMaker
    1. Flash TextFields can handle a limited amount of HTML:
    Supported
    HTML tags. The .html property is enables HTML rendering and
    .htmlText property for asssigning the HTML.
    Those tags would probably be fine. We're not trying to do
    anything fancy.
    quote:
    2. Your PHP scripts cannot send back HTML. They can send back
    data either in URL Encoded format or XML. That means your script is
    only echoing data. The HTML can be stored in data such as a URL
    variable or in CDATA node of XML.
    Ex for URLVars: echo theHtml=<p>This
    is<b>bold</b></p>&var2=1234&var3=true;
    Ok, that's what I thought.
    quote:
    3. You will need your PHP script to create a temporary jpg
    file on the server and send to Flash the name of the file. Then you
    use either MovieClip.loadMovie or MovieClipLoader to fetch the jpg
    on the Flash side. There should be links on the web for the PHP
    part handling the filenaming and the garbage collection.
    Uhg, that's what I also thought, and was afraid of. You told
    me everything I need to know I think. Thank you.

  • Getting blobs from databases

    Hi!
    Im trying to get a blob from a database and write it to a file, but I just can't get the Blob value, I just recieve the adress. I've tried InputStream and getBytes but none of them does what I want. getBytes where closest but because it requires two inparameters (long pos, int length) and blob.length gives an long i can't figure out how many bytes to get. Anyone got any sugestions?

    Agrawal.
    I've read through both those pages (even thou i've already managed to make the connection to mysql) and I still can't work around my problem. the method getBytes(), requires two parameters, one that tells it where to start reading and one telling it how long it should read. If I leave one out it will inevitable lead to problems. So I still need to figure out a way to get the length of the blob in a int to make this work. but since the blob.length() method returns a long wich I can't convert I'm stuck!

  • Using Blobs with MySQL

    Hi,
    I've posted a few thread semi-related to this, and decided I would just ask a more general question.
    Has anyone been able to save (& load) BLOBs in MySQL using ADF BC? If so, how did you do it?

    No, its not the same as doing this process with Oracle.
    First of all, I cannot use BlobDomain, and instead I have to use something else that implements java.sql.Blob. I would use the one from the mysql driver, but it has private constructors....
    So I tried to use SerialBlob, then cast it to java.sql.Blob before committing to the db, and after some efforts I was able to finally save a Blob to my table.
    However, every time I try and load the blob again into my Entity Object, I am getting index out of bounds exceptions.
    (Even when I inserted a blob using PreparedStatements, then tried to have ADF BC retrieve the blob from the db)

Maybe you are looking for

  • Relation between QuickTime 7.1.1 and AirPort problems

    I've read a few thread talking of relations between the last QuickTime 7.1.1 update and problems with AirPort in one way or the opposite. As this looked quite hard to explain I thoroughly checked the QuickTime 7.1.1 update package and I can tell ever

  • What application(s) would you suggest?

    Hi! I am totally new to dynamic web pages. I see that many applications exist but I am unable to find which one could help me achieve what I want for my web site. Here is my situation. I have a list of local farmers and food producers and I want my w

  • Zooming in with Mac Acrobat

    Hello, I've just gotten my Mac here at work, after being a PC user for 20 years. I love it. But, I'm flummoxed by some "shortcuts" I was used to on the PC. Specifically, I need to be able to zoom in on PDF pages. I know I can zoom with command + +. B

  • FaceTime audio causes phone to restart?

    My phone has restarted during the last two FaceTime audio calls I've made. Both happened at about the 20-30 mark, and had a weird "frozen" screen look like if a tv isn't tuned properly to an OTA broadcast signal for a few moments before hard resettin

  • In Keynote, there is not "save as".  There is only "save"  i want to save it as power point, what should i do?

    Hello guys, I got problem. Could you please tell me the solution for me? Thanks