View in image from database
hi will i be able to view image from my database using this class, am using jdeveloper 11g release 2
package TaskFlowView;
import java.io.BufferedInputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.sql.Blob;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.sql.DataSource;
public class ImageServlet extends HttpServlet {
private static final String CONTENT_TYPE =
"image/jpg; charset=utf-8";
* @param config
* @throws ServletException
public void init(ServletConfig config) throws ServletException {
super.init(config);
* @param request
* @param response
* @throws ServletException
* @throws IOException
public void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException,
IOException {
response.setContentType(CONTENT_TYPE);
response.setContentType(CONTENT_TYPE);
String detailDocumentId = request.getParameter("detail");
String thumbnailDocumentId = request.getParameter("thumbnail");
boolean thumbnail = true;
String DocumentId = null;
OutputStream os = response.getOutputStream();
Connection conn = null;
try {
Context ctx = new InitialContext();
DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/SMSDEV");
conn = ds.getConnection();
PreparedStatement statement = conn.prepareStatement(
"SELECT file_name, " +
"dlin.id, " +
"FROM sms_document_links dlin " +
"sms_document_references dref" +
"WHERE dref.id = ?" +
"dref.dlin_id = dlin.id");
if (detailDocumentId != null) {
DocumentId = detailDocumentId;
thumbnail = false;
} else {
DocumentId = thumbnailDocumentId;
statement.setString(1,(thumbnail ? "Y" : "N"));
statement.setInt(2, new Integer(DocumentId));
ResultSet rs = statement.executeQuery();
if (rs.next()) {
Blob blob = rs.getBlob("IMAGE");
BufferedInputStream in = new BufferedInputStream(blob.getBinaryStream());
int b; byte[] buffer = new byte[10240];
while ((b = in.read(buffer, 0, 10240)) != -1) { os.write(buffer, 0, b); }
os.close();
} catch (Exception e){
System.out.println(e);
} finally {
try{
if (conn != null){
conn.close();
} catch (SQLException sqle){
System.out.println("SQLException error");
}Edited by: Tshifhiwa on 2012/05/29 1:52 PM
Edited by: Tshifhiwa on 2012/05/29 1:56 PM
hi this what i have done, am still having error with my iterator line= DCIteratorBinding lBinding = lBindingContainer.findIteratorBinding(sms4200ModuleDataControlIter),the error say type or variable sms4200ModuleDataControlIter not found but thats the name in my page defination,and is this the class i must write this method
import com.sun.rowset.internal.Row;
import com.sun.xml.internal.messaging.saaj.packaging.mime.internet.ContentType;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.sql.SQLException;
import oracle.jbo.domain.BlobDomain;
import oracle.jbo.domain.Timestamp;
import oracle.jbo.server.AttributeDefImpl;
import oracle.jbo.server.EntityImpl;
import oracle.jbo.server.ViewRowImpl;
import javax.faces.event.ValueChangeEvent;
import org.apache.myfaces.trinidad.model.UploadedFile;
import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;
import javax.faces.event.ValueChangeEvent;
import oracle.adf.model.binding.DCBindingContainer;
import oracle.adf.model.binding.DCIteratorBinding;
import oracle.adf.model.BindingContext;
import oracle.adf.model.binding.DCIteratorBindingDef;
import sms4200.common.SmsDocumentLinksViewRow;
import sun.misc.IOUtils;
// --- File generated by Oracle ADF Business Components Design Time.
// --- Wed May 30 13:12:49 CAT 2012
// --- Custom code may be added to this class.
// --- Warning: Do not modify method signatures of generated methods.
public class SmsDocumentLinksViewRowImpl extends ViewRowImpl implements SmsDocumentLinksViewRow {
public static final int ENTITY_SMSDOCUMENTLINKS = 0;
private static final String CONTENT_TYPE =
"image/jpg; charset=utf-8";
DocumentImage {
public Object get(SmsDocumentLinksViewRowImpl obj) {
return obj.getDocumentImage();
public void put(SmsDocumentLinksViewRowImpl obj, Object value) {
obj.setDocumentImage((BlobDomain)value);
public static final int DOCUMENTIMAGE = AttributesEnum.DocumentImage.index();
public BlobDomain getDocumentImage() {
return (BlobDomain) getAttributeInternal(DOCUMENTIMAGE);
* Sets <code>value</code> as attribute value for DOCUMENT_IMAGE using the alias name DocumentImage.
* @param value value to set the DOCUMENT_IMAGE
public void setDocumentImage(BlobDomain value) {
setAttributeInternal(DOCUMENTIMAGE, value);
private BlobDomain createBlobDomain(UploadedFile file)
// init the internal variables
InputStream in = null;
BlobDomain blobDomain = null;
OutputStream out = null;
try
// Get the input stream representing the data from the client
in = file.getInputStream();
// create the BlobDomain datatype to store the data in the db
blobDomain = new BlobDomain();
// get the outputStream for hte BlobDomain
out = blobDomain.getBinaryOutputStream();
// copy the input stream into the output stream
39 * IOUtils is a class from the Apache Commons IO Package (http://www.apache.org/)
40 * Here version 2.0.1 is used
41 * please download it directly from http://projects.apache.org/projects/commons_io.html
42 */
IOUtils.copy(in, out);
catch (IOException e)
e.printStackTrace();
catch (SQLException e)
e.fillInStackTrace();
// return the filled BlobDomain
return blobDomain;
public void uploadFileValueChangeEvent(ValueChangeEvent valueChangeEvent){
// The event give access to an Uploade dFile which contains data about the file and its content
// Get the original file name
UploadedFile file = (UploadedFile) valueChangeEvent.getNewValue();
// Get the original file name
String fileName = file.getFilename();
String contentType = CONTENT_TYPE.valueOf(fileName);
//get(fileName);
// get the current roew from the ImagesView2Iterator via the binding
DCBindingContainer lBindingContainer =
(DCBindingContainer) BindingContext.getCurrent().getCurrentBindingsEntry();
// DCIteratorBinding lBinding = lBindingContainer.findIteratorBinding("sms4200ModuleDataControlIter");
DCIteratorBinding lBinding = lBindingContainer.findIteratorBinding(sms4200ModuleDataControlIter);
Row newRow = (Row)lBinding.getCurrentRow();
// set the file name
//newRow.setAttribute("DOCUMENTIMAGE" fileName);
newRow.setColumnObject(DOCUMENTIMAGE, fileName);
// create the BlobDomain and set it into the row
// newRow.setAttribute(DOCUMENTIMAGE, createBlobDomain(file));
newRow.setColumnObject(DOCUMENTIMAGE, createBlobDomain(file));
// set the mime type
//newRow.setAttribute("ContentType", contentType);
newRow.setColumnObject(DOCUMENTIMAGE,contentType);
my PageDef file is
<?xml version="1.0" encoding="UTF-8" ?>
<pageDefinition xmlns="http://xmlns.oracle.com/adfm/uimodel" version="11.1.2.60.81" id="sms4200PageDef"
Package="SmsFrontUI.pageDefs">
<parameters/>
<executables>
<variableIterator id="variables"/>
<iterator Binds="ViewObj1" RangeSize="25" DataControl="TaskFlowAppModuleDataControl" id="ViewObj1Iterator"/>
<iterator Binds="sms4200_1" RangeSize="25" DataControl="TaskFlowAppModuleDataControl" id="sms4200_1Iterator"/>
<iterator id="sms4200ModuleDataControlIter" DataControl="sms4200ModuleDataControl" RangeSize="25"
Binds="SmsDocumentLinksView1"/>
</executables>
<bindings>
<attributeValues IterBinding="ViewObj1Iterator" id="IntegrationTypeName">
<AttrNames>
<Item Value="IntegrationTypeName"/>
</AttrNames>
</attributeValues>
<attributeValues IterBinding="ViewObj1Iterator" id="Name">
<AttrNames>
<Item Value="Name"/>
</AttrNames>
</attributeValues>
<attributeValues IterBinding="ViewObj1Iterator" id="LocalUpDirectory">
<AttrNames>
<Item Value="LocalUpDirectory"/>
</AttrNames>
</attributeValues>
<attributeValues IterBinding="sms4200_1Iterator" id="IntegrationTypeName1">
<AttrNames>
<Item Value="IntegrationTypeName"/>
</AttrNames>
</attributeValues>
<attributeValues IterBinding="sms4200_1Iterator" id="Name1">
<AttrNames>
<Item Value="Name"/>
</AttrNames>
</attributeValues>
<attributeValues IterBinding="sms4200_1Iterator" id="LocalUpDirectory1">
<AttrNames>
<Item Value="LocalUpDirectory"/>
</AttrNames>
</attributeValues>
</bindings>
</pageDefinition>and my view is
<?xml version="1.0" encoding="windows-1252" ?>
<!DOCTYPE ViewObject SYSTEM "jbo_03_01.dtd">
<!---->
<ViewObject
xmlns="http://xmlns.oracle.com/bc4j"
Name="SmsDocumentLinksView"
Version="11.1.2.60.81"
SelectList="SmsDocumentLinks.ID,
SmsDocumentLinks.EDRMS_ID,
SmsDocumentLinks.FILE_PLAN_NO,
SmsDocumentLinks.DOCUMENT_NAME,
SmsDocumentLinks.SCAN_DT,
SmsDocumentLinks.DATE_CREATED,
SmsDocumentLinks.DATE_MODIFIED,
SmsDocumentLinks.MODIFIED_BY,
SmsDocumentLinks.CREATED_BY,
SmsDocumentLinks.DOCUMENT_IMAGE,
SmsDocumentLinks.DITYP_ID,
SmsDocumentLinks.DWSTA_CODE,
SmsDocumentLinks.SOURCE_FILE_NAME"
FromList="SMS_DOCUMENT_LINKS SmsDocumentLinks"
BindingStyle="OracleName"
CustomQuery="false"
PageIterMode="Full"
UseGlueCode="false"
RowClass="sms4200.SmsDocumentLinksViewRowImpl"
ComponentClass="sms4200.SmsDocumentLinksViewImpl"
RowInterface="sms4200.common.SmsDocumentLinksViewRow"
ClientRowProxyName="sms4200.client.SmsDocumentLinksViewRowClient">
<DesignTime>
<Attr Name="_codeGenFlag2" Value="Access|Coll|Prog|VarAccess"/>
<Attr Name="_isCodegen" Value="true"/>
</DesignTime>
<EntityUsage
Name="SmsDocumentLinks"
Entity="sms4200.SmsDocumentLinks"/>
<ViewAttribute
Name="Id"
IsNotNull="true"
PrecisionRule="true"
EntityAttrName="Id"
EntityUsage="SmsDocumentLinks"
AliasName="ID">
<TransientExpression><![CDATA[(new oracle.jbo.server.SequenceImpl("SMS_CAT_SEQ",adf.object.getDBTransaction())).getSequenceNumber()]]></TransientExpression>
</ViewAttribute>
<ViewAttribute
Name="EdrmsId"
PrecisionRule="true"
EntityAttrName="EdrmsId"
EntityUsage="SmsDocumentLinks"
AliasName="EDRMS_ID"/>
<ViewAttribute
Name="FilePlanNo"
PrecisionRule="true"
EntityAttrName="FilePlanNo"
EntityUsage="SmsDocumentLinks"
AliasName="FILE_PLAN_NO"/>
<ViewAttribute
Name="DocumentName"
PrecisionRule="true"
EntityAttrName="DocumentName"
EntityUsage="SmsDocumentLinks"
AliasName="DOCUMENT_NAME"/>
<ViewAttribute
Name="ScanDt"
PrecisionRule="true"
EntityAttrName="ScanDt"
EntityUsage="SmsDocumentLinks"
AliasName="SCAN_DT"/>
<ViewAttribute
Name="DateCreated"
PrecisionRule="true"
EntityAttrName="DateCreated"
EntityUsage="SmsDocumentLinks"
AliasName="DATE_CREATED"/>
<ViewAttribute
Name="DateModified"
PrecisionRule="true"
EntityAttrName="DateModified"
EntityUsage="SmsDocumentLinks"
AliasName="DATE_MODIFIED"/>
<ViewAttribute
Name="ModifiedBy"
PrecisionRule="true"
EntityAttrName="ModifiedBy"
EntityUsage="SmsDocumentLinks"
AliasName="MODIFIED_BY"/>
<ViewAttribute
Name="CreatedBy"
PrecisionRule="true"
EntityAttrName="CreatedBy"
EntityUsage="SmsDocumentLinks"
AliasName="CREATED_BY"/>
<ViewAttribute
Name="DocumentImage"
IsQueriable="false"
PrecisionRule="true"
EntityAttrName="DocumentImage"
EntityUsage="SmsDocumentLinks"
AliasName="DOCUMENT_IMAGE"/>
<ViewAttribute
Name="DitypId"
PrecisionRule="true"
EntityAttrName="DitypId"
EntityUsage="SmsDocumentLinks"
AliasName="DITYP_ID"/>
<ViewAttribute
Name="DwstaCode"
PrecisionRule="true"
EntityAttrName="DwstaCode"
EntityUsage="SmsDocumentLinks"
AliasName="DWSTA_CODE"/>
<ViewAttribute
Name="SourceFileName"
PrecisionRule="true"
EntityAttrName="SourceFileName"
EntityUsage="SmsDocumentLinks"
AliasName="SOURCE_FILE_NAME"/>
</ViewObject>Edited by: Tshifhiwa on 2012/05/30 8:57 PM
Similar Messages
-
Not able to download image from database
not able to download image from database am in jdeveloper 11g release 2 am using this example
: http://tompeez.wordpress.com/2011/11/26/jdev11-1-2-1-0-handling-imagesfiles-in-adf-part-2/
hi am not able to down load my image my jsp xml is
<?xml version='1.0' encoding='UTF-8'?>
<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.1" xmlns:f="http://java.sun.com/jsf/core"
xmlns:af="http://xmlns.oracle.com/adf/faces/rich">
<jsp:directive.page contentType="text/html;charset=UTF-8"/>
<f:view>
<af:document title="sms4200.jspx" id="d1">
<af:messages id="m1"/>
<af:form id="f1" usesUpload="true">
<af:panelStretchLayout topHeight="211px" id="psl1" inlineStyle="width:1338px; background-color:Navy;">
<f:facet name="top">
<af:panelHeader text="Sms Intergration Sources" id="ph1">
<f:facet name="context"/>
<f:facet name="menuBar"/>
<f:facet name="toolbar"/>
<f:facet name="legend"/>
<f:facet name="info"/>
<af:panelStretchLayout id="psl2" inlineStyle="height:178px; width:1018px;" topHeight="22px"
endWidth="589px" startWidth="55px" bottomHeight="33px">
<f:facet name="end">
<af:panelHeader text="Office" id="ph2"
inlineStyle="width:900px; background-color:Navy;">
<f:facet name="context"/>
<f:facet name="menuBar"/>
<f:facet name="toolbar"/>
<f:facet name="legend"/>
<f:facet name="info"/>
<af:panelFormLayout id="pfl3" inlineStyle="background-color:Navy;" rows="1">
<f:facet name="footer"/>
<af:inputText label="#{bindings.Name1.hints.label}"
required="#{bindings.Name1.hints.mandatory}"
columns="20"
maximumLength="#{bindings.Name1.hints.precision}"
shortDesc="#{bindings.Name1.hints.tooltip}" id="it2">
<f:validator binding="#{bindings.Name1.validator}"/>
</af:inputText>
<af:inputText
label="#{bindings.LocalUpDirectory1.hints.label}"
required="#{bindings.LocalUpDirectory1.hints.mandatory}"
columns="20"
maximumLength="#{bindings.LocalUpDirectory1.hints.precision}"
shortDesc="#{bindings.LocalUpDirectory1.hints.tooltip}"
id="it3">
<f:validator binding="#{bindings.LocalUpDirectory1.validator}"/>
</af:inputText>
</af:panelFormLayout>
</af:panelHeader>
</f:facet>
<f:facet name="top">
<af:inputText value="#{bindings.IntegrationTypeName1.inputValue}"
label="#{bindings.IntegrationTypeName1.hints.label}"
required="#{bindings.IntegrationTypeName1.hints.mandatory}"
columns="#{bindings.IntegrationTypeName1.hints.displayWidth}"
maximumLength="#{bindings.IntegrationTypeName1.hints.precision}"
shortDesc="#{bindings.IntegrationTypeName1.hints.tooltip}" id="it1">
<f:validator binding="#{bindings.IntegrationTypeName1.validator}"/>
</af:inputText>
</f:facet>
</af:panelStretchLayout>
</af:panelHeader>
</f:facet>
<f:facet name="center">
<!-- id="af_one_column_header_stretched" -->
<af:decorativeBox theme="dark" id="db1" inlineStyle="width:1050px; background-color:Navy;">
<f:facet name="center">
<af:panelGroupLayout layout="scroll" id="pgl3" inlineStyle="background-color:Navy;">
<af:panelStretchLayout id="psl3" inlineStyle="width:1012px; height:502px;"
topHeight="133px" startWidth="0px">
<f:facet name="center">
<af:panelStretchLayout id="psl5" endWidth="659px" startWidth="171px">
<f:facet name="center"/>
<f:facet name="start"/>
<f:facet name="end">
<af:panelGroupLayout layout="scroll" id="pgl2">
<af:inputFile label="Select Image" id="if1" autoSubmit="true"
valueChangeListener="#{ImageBean.uploadFileValueChangeEvent}"/>
<af:commandButton actionListener="#{bindings.CreateInsert.execute}"
text="Restart Load Image Process"
disabled="#{!bindings.CreateInsert.enabled}"
id="cb2"/>
<af:commandButton actionListener="#{bindings.Commit.execute}"
text="Save"
disabled="#{!bindings.Commit.enabled}"
id="cb3"/>
<af:commandButton text="View" id="cb1"
partialSubmit="true"
unsecure="#{ImageBean.downloadButton}"
action="#{image.downloadImage}"
binding="#{image2.downloadButton}"/>
</af:panelGroupLayout>
</f:facet>
<f:facet name="top"/>
</af:panelStretchLayout>
</f:facet>
<f:facet name="start"/>
<f:facet name="top">
<af:panelStretchLayout id="psl4" startWidth="232px" endWidth="296px"
bottomHeight="18px" topHeight="11px">
<f:facet name="bottom"/>
<f:facet name="center"/>
<f:facet name="start">
<af:panelFormLayout id="pfl1" labelAlignment="top">
<f:facet name="footer"/>
<af:inputText label="File from PC to be Transfered" id="it4"/>
</af:panelFormLayout>
</f:facet>
<f:facet name="end">
<af:panelFormLayout id="pfl2" labelAlignment="top" maxColumns="10">
<f:facet name="footer">
<af:inputText value="#{bindings.DocumentName.inputValue}"
label="File Transfered to Database"
required="#{bindings.DocumentName.hints.mandatory}"
columns="50"
rows="1"
maximumLength="#{bindings.DocumentName.hints.precision}"
shortDesc="#{bindings.DocumentName.hints.tooltip}"
id="it5" simple="false">
<f:validator binding="#{bindings.DocumentName.validator}"/>
</af:inputText>
</f:facet>
</af:panelFormLayout>
</f:facet>
<f:facet name="top"/>
</af:panelStretchLayout>
</f:facet>
</af:panelStretchLayout>
</af:panelGroupLayout>
</f:facet>
</af:decorativeBox>
</f:facet>
</af:panelStretchLayout>
</af:form>
</af:document>
</f:view>
</jsp:root>
and my log file is
<ViewHandlerImpl> <_checkTimestamp> Apache Trinidad is running with time-stamp checking enabled. This should not be used in a production environment. See the org.apache.myfaces.trinidad.CHECK_FILE_MODIFICATION property in WEB-INF/web.xml
<UIXEditableValue> <_isBeanValidationAvailable> A Bean Validation provider is not present, therefore bean validation is disabled
the method am calling is
public BlobDomain downloadImage() {
FacesContext facesContext = null;
OutputStream outputStream = null;
BindingContainer bindings = BindingContext.getCurrent().getCurrentBindingsEntry();
// get an ADF attributevalue from the ADF page definitions
AttributeBinding attr = (AttributeBinding)bindings.getControlBinding("Documentimage");
if (attr == null) {
return null;
// the value is a BlobDomain data type
BlobDomain blob = (BlobDomain)attr.getInputValue();
try { // copy hte data from the BlobDomain to the output stream
IOUtils.copy(blob.getInputStream(), outputStream);
// cloase the blob to release the recources
blob.closeInputStream();
// flush the outout stream
outputStream.flush();
} catch (IOException e) {
// handle errors
e.printStackTrace();
FacesMessage msg = new FacesMessage(FacesMessage.SEVERITY_ERROR, e.getMessage(), "");
FacesContext.getCurrentInstance().addMessage(null, msg);
return blob;
}i get this error when clicking the button
error when not able to download image
<BeanHandler> <getStructure> Failed to build StructureDefinition for : sms4200.ImageBean
<UIXEditableValue> <_isBeanValidationAvailable> A Bean Validation provider is not present, therefore bean validation is disabled
Edited by: Tshifhiwa on 2012/06/03 10:53 AM
Edited by: Tshifhiwa on 2012/06/03 10:56 AM
Edited by: Tshifhiwa on 2012/06/03 10:57 AMhi i try to run your sample am geting this error
Error 500--Internal Server Error
oracle.jbo.DMLException: JBO-27200: JNDI failure. Unable to lookup Data Source at context jdbc/HRDS
at oracle.jbo.server.DBTransactionImpl.lookupDataSource(DBTransactionImpl.java:1453)
at oracle.jbo.server.DBTransactionImpl2.connectToDataSource(DBTransactionImpl2.java:329)
at oracle.jbo.common.ampool.DefaultConnectionStrategy.connect(DefaultConnectionStrategy.java:203)
at oracle.jbo.server.ApplicationPoolMessageHandler.doPoolConnect(ApplicationPoolMessageHandler.java:600)
at oracle.jbo.server.ApplicationPoolMessageHandler.doPoolMessage(ApplicationPoolMessageHandler.java:417)
at oracle.jbo.server.ApplicationModuleImpl.doPoolMessage(ApplicationModuleImpl.java:8972)
at oracle.jbo.common.ampool.ApplicationPoolImpl.sendPoolMessage(ApplicationPoolImpl.java:4606)
at oracle.jbo.common.ampool.ApplicationPoolImpl.prepareApplicationModule(ApplicationPoolImpl.java:2536)
at oracle.jbo.common.ampool.ApplicationPoolImpl.doCheckout(ApplicationPoolImpl.java:2346)
at oracle.jbo.common.ampool.ApplicationPoolImpl.useApplicationModule(ApplicationPoolImpl.java:3245)
at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:571)
at oracle.jbo.http.HttpSessionCookieImpl.useApplicationModule(HttpSessionCookieImpl.java:234)
at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:504)
at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:499)
at oracle.adf.model.bc4j.DCJboDataControl.initializeApplicationModule(DCJboDataControl.java:517)
at oracle.adf.model.bc4j.DCJboDataControl.getApplicationModule(DCJboDataControl.java:867)
at oracle.adf.model.binding.DCDataControl.setErrorHandler(DCDataControl.java:487)
at oracle.jbo.uicli.binding.JUApplication.setErrorHandler(JUApplication.java:261)
at oracle.adf.model.BindingContext.put(BindingContext.java:1318)
at oracle.adf.model.binding.DCDataControlReference.getDataControl(DCDataControlReference.java:247)
at oracle.adf.model.BindingContext.instantiateDataControl(BindingContext.java:1020)
at oracle.adf.model.dcframe.DataControlFrameImpl.doFindDataControl(DataControlFrameImpl.java:1645)
at oracle.adf.model.dcframe.DataControlFrameImpl.internalFindDataControl(DataControlFrameImpl.java:1514)
at oracle.adf.model.dcframe.DataControlFrameImpl.findDataControl(DataControlFrameImpl.java:1474)
at oracle.adf.model.BindingContext.internalFindDataControl(BindingContext.java:1150)
at oracle.adf.model.BindingContext.get(BindingContext.java:1103)
at oracle.adf.model.binding.DCParameter.evaluateValue(DCParameter.java:82)
at oracle.adf.model.binding.DCParameter.getValue(DCParameter.java:111)
at oracle.adf.model.binding.DCBindingContainer.getChildByName(DCBindingContainer.java:2748)
at oracle.adf.model.binding.DCBindingContainer.internalGet(DCBindingContainer.java:2796)
at oracle.adf.model.binding.DCExecutableBinding.get(DCExecutableBinding.java:115)
at oracle.adf.model.binding.DCUtil.findSpelObject(DCUtil.java:329)
at oracle.adf.model.binding.DCBindingContainer.evaluateParameterWithElCheck(DCBindingContainer.java:1478)
at oracle.adf.model.binding.DCBindingContainer.findDataControl(DCBindingContainer.java:1608)
at oracle.adf.model.binding.DCIteratorBinding.initDataControl(DCIteratorBinding.java:2542)
at oracle.adf.model.binding.DCIteratorBinding.getDataControl(DCIteratorBinding.java:2477)
at oracle.adf.model.binding.DCIteratorBinding.getAttributeDefs(DCIteratorBinding.java:3319)
at oracle.jbo.uicli.binding.JUCtrlValueBinding.fetchAttrDefs(JUCtrlValueBinding.java:514)
at oracle.jbo.uicli.binding.JUCtrlValueBinding.getAttributeDefs(JUCtrlValueBinding.java:465)
at oracle.jbo.uicli.binding.JUCtrlValueBinding.getAttributeDef(JUCtrlValueBinding.java:541)
at oracle.jbo.uicli.binding.JUCtrlValueBinding.getAttributeDef(JUCtrlValueBinding.java:531)
at oracle.jbo.uicli.binding.JUCtrlValueBinding$1JUAttributeDefHintsMap.(JUCtrlValueBinding.java:4104)
at oracle.jbo.uicli.binding.JUCtrlValueBinding.getAttributeHintsMap(JUCtrlValueBinding.java:4211)
at oracle.jbo.uicli.binding.JUCtrlValueBinding.getHints(JUCtrlValueBinding.java:2564)
at oracle.jbo.uicli.binding.JUCtrlValueBinding.internalGet(JUCtrlValueBinding.java:2389)
at oracle.adfinternal.view.faces.model.binding.FacesCtrlAttrsBinding.internalGet(FacesCtrlAttrsBinding.java:275)
at oracle.adf.model.binding.DCControlBinding.get(DCControlBinding.java:749)
at javax.el.MapELResolver.getValue(MapELResolver.java:164)
at com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:176)
at com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:203)
at com.sun.el.parser.AstValue.getValue(Unknown Source)
at com.sun.el.ValueExpressionImpl.getValue(Unknown Source)
at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:109)
at org.apache.myfaces.trinidad.bean.FacesBeanImpl.getProperty(FacesBeanImpl.java:73)
at oracle.adfinternal.view.faces.renderkit.rich.LabelLayoutRenderer.getLabel(LabelLayoutRenderer.java:929)
at oracle.adfinternal.view.faces.renderkit.rich.LabelLayoutRenderer.encodeAll(LabelLayoutRenderer.java:213)
at oracle.adfinternal.view.faces.renderkit.rich.LabeledInputRenderer.encodeAll(LabeledInputRenderer.java:215)
at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1452)
at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:511)
at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:923)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1659)
at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:624)
at oracle.adf.view.rich.render.RichRenderer.encodeChild(RichRenderer.java:3201)
at oracle.adfinternal.view.faces.renderkit.rich.PanelFormLayoutRenderer._encodeFormItem(PanelFormLayoutRenderer.java:1088)
at oracle.adfinternal.view.faces.renderkit.rich.PanelFormLayoutRenderer.access$100(PanelFormLayoutRenderer.java:50)
at oracle.adfinternal.view.faces.renderkit.rich.PanelFormLayoutRenderer$FormColumnEncoder.processComponent(PanelFormLayoutRenderer.java:1604)
at oracle.adfinternal.view.faces.renderkit.rich.PanelFormLayoutRenderer$FormColumnEncoder.processComponent(PanelFormLayoutRenderer.java:1523)
at org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:187)
at org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:318)
at org.apache.myfaces.trinidad.component.UIXComponent.encodeFlattenedChildren(UIXComponent.java:283)
at oracle.adfinternal.view.faces.renderkit.rich.PanelFormLayoutRenderer._encodeChildren(PanelFormLayoutRenderer.java:420)
at oracle.adfinternal.view.faces.renderkit.rich.PanelFormLayoutRenderer.encodeAll(PanelFormLayoutRenderer.java:208)
at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1452)
at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:511)
at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:923)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1659)
at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:624)
at oracle.adf.view.rich.render.RichRenderer.encodeChild(RichRenderer.java:3201)
at oracle.adfinternal.view.faces.renderkit.rich.PanelGroupLayoutRenderer._encodeChild(PanelGroupLayoutRenderer.java:447)
at oracle.adfinternal.view.faces.renderkit.rich.PanelGroupLayoutRenderer.access$1500(PanelGroupLayoutRenderer.java:30)
at oracle.adfinternal.view.faces.renderkit.rich.PanelGroupLayoutRenderer$EncoderCallback.processComponent(PanelGroupLayoutRenderer.java:734)
at oracle.adfinternal.view.faces.renderkit.rich.PanelGroupLayoutRenderer$EncoderCallback.processComponent(PanelGroupLayoutRenderer.java:637)
at org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:187)
at org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:318)
at org.apache.myfaces.trinidad.component.UIXComponent.encodeFlattenedChildren(UIXComponent.java:283)
at oracle.adfinternal.view.faces.renderkit.rich.PanelGroupLayoutRenderer.encodeAll(PanelGroupLayoutRenderer.java:360)
at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1452)
at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:511)
at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:923)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1659)
at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:624)
at oracle.adf.view.rich.render.RichRenderer.encodeChild(RichRenderer.java:3201)
at oracle.adfinternal.view.faces.renderkit.rich.PanelStretchLayoutRenderer.encodeCenterFacet(PanelStretchLayoutRenderer.java:879)
at oracle.adfinternal.view.faces.renderkit.rich.PanelStretchLayoutRenderer._encodeCenterPane(PanelStretchLayoutRenderer.java:1294)
at oracle.adfinternal.view.faces.renderkit.rich.PanelStretchLayoutRenderer._encodeMiddlePanes(PanelStretchLayoutRenderer.java:351)
at oracle.adfinternal.view.faces.renderkit.rich.PanelStretchLayoutRenderer.encodeAll(PanelStretchLayoutRenderer.java:316)
at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1452)
at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:511)
at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:923)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1659)
at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:624)
at oracle.adf.view.rich.render.RichRenderer.encodeChild(RichRenderer.java:3201)
at oracle.adf.view.rich.render.RichRenderer.encodeStretchedChild(RichRenderer.java:2194)
at oracle.adfinternal.view.faces.renderkit.rich.RegionRenderer.access$400(RegionRenderer.java:50)
at oracle.adfinternal.view.faces.renderkit.rich.RegionRenderer$ChildEncoderCallback.processComponent(RegionRenderer.java:707)
at oracle.adfinternal.view.faces.renderkit.rich.RegionRenderer$ChildEncoderCallback.processComponent(RegionRenderer.java:692)
at org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:187)
at org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:318)
at org.apache.myfaces.trinidad.component.UIXComponent.encodeFlattenedChildren(UIXComponent.java:283)
at oracle.adfinternal.view.faces.renderkit.rich.RegionRenderer._encodeChildren(RegionRenderer.java:297)
at oracle.adfinternal.view.faces.renderkit.rich.RegionRenderer.encodeAll(RegionRenderer.java:186)
at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1452)
at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:511)
at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:923)
at oracle.adf.view.rich.component.fragment.UIXRegion.encodeEnd(UIXRegion.java:323)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1659)
at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:624)
at oracle.adf.view.rich.render.RichRenderer.encodeChild(RichRenderer.java:3201)
at oracle.adfinternal.view.faces.renderkit.rich.PanelStretchLayoutRenderer.encodeCenterFacet(PanelStretchLayoutRenderer.java:879)
at oracle.adfinternal.view.faces.renderkit.rich.PanelStretchLayoutRenderer._encodeCenterPane(PanelStretchLayoutRenderer.java:1294)
at oracle.adfinternal.view.faces.renderkit.rich.PanelStretchLayoutRenderer._encodeMiddlePanes(PanelStretchLayoutRenderer.java:351)
at oracle.adfinternal.view.faces.renderkit.rich.PanelStretchLayoutRenderer.encodeAll(PanelStretchLayoutRenderer.java:316)
at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1452)
at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:511)
at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:923)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1659)
at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:624)
at oracle.adf.view.rich.render.RichRenderer.encodeChild(RichRenderer.java:3201)
at org.apache.myfaces.trinidad.render.CoreRenderer.encodeAllChildren(CoreRenderer.java:641)
at oracle.adf.view.rich.render.RichRenderer.encodeAllChildrenInContext(RichRenderer.java:3062)
at oracle.adfinternal.view.faces.renderkit.rich.FormRenderer.encodeAll(FormRenderer.java:274)
at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1452)
at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:511)
at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:923)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1659)
at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:624)
at oracle.adf.view.rich.render.RichRenderer.encodeChild(RichRenderer.java:3201)
at org.apache.myfaces.trinidad.render.CoreRenderer.encodeAllChildren(CoreRenderer.java:641)
at oracle.adf.view.rich.render.RichRenderer.encodeAllChildrenInContext(RichRenderer.java:3062)
at oracle.adfinternal.view.faces.renderkit.rich.DocumentRenderer.encodeAll(DocumentRenderer.java:1277)
at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1452)
at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:511)
at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:923)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1659)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1655)
at oracle.adfinternal.view.faces.component.AdfViewRoot.encodeAll(AdfViewRoot.java:91)
at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:399)
at org.apache.myfaces.trinidadinternal.application.ViewDeclarationLanguageFactoryImpl$ChangeApplyingVDLWrapper.renderView(ViewDeclarationLanguageFactoryImpl.java:350)
at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:131)
at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:273)
at org.apache.myfaces.trinidadinternal.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:165)
at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._renderResponse(LifecycleImpl.java:1027)
at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:334)
at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:232)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:313)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:173)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:122)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:468)
at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:468)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:293)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:199)
at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:111)
at java.security.AccessController.doPrivileged(Native Method)
at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313)
at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:413)
at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:94)
at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:161)
at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:136)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
Caused by: javax.naming.NameNotFoundException: While trying to lookup 'jdbc.HRDS' didn't find subcontext 'jdbc'. Resolved ''; remaining name 'jdbc/HRDS'
at weblogic.jndi.internal.BasicNamingNode.newNameNotFoundException(BasicNamingNode.java:1139)
at weblogic.jndi.internal.BasicNamingNode.lookupHere(BasicNamingNode.java:247)
at weblogic.jndi.internal.ServerNamingNode.lookupHere(ServerNamingNode.java:182)
at weblogic.jndi.internal.BasicNamingNode.lookup(BasicNamingNode.java:206)
at weblogic.jndi.internal.WLEventContextImpl.lookup(WLEventContextImpl.java:254)
at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:411)
at javax.naming.InitialContext.lookup(InitialContext.java:392)
at oracle.jbo.server.DBTransactionImpl.lookupDataSource(DBTransactionImpl.java:1439)
... 190 more
my connection.xml is
<?xml version = '1.0' encoding = 'UTF-8'?>
<References xmlns="http://xmlns.oracle.com/adf/jndi">
<Reference name="HRDS" className="oracle.jdeveloper.db.adapter.DatabaseProvider" credentialStoreKey="HRDS" xmlns="">
<Factory className="oracle.jdeveloper.db.adapter.DatabaseProviderFactory"/>
<RefAddresses>
<StringRefAddr addrType="sid">
<Contents>smsdev</Contents>
</StringRefAddr>
<StringRefAddr addrType="subtype">
<Contents>oraJDBC</Contents>
</StringRefAddr>
<StringRefAddr addrType="port">
<Contents>1521</Contents>
</StringRefAddr>
<StringRefAddr addrType="hostname">
<Contents>localhost</Contents>
</StringRefAddr>
<StringRefAddr addrType="user">
<Contents>hr</Contents>
</StringRefAddr>
<SecureRefAddr addrType="password"/>
<StringRefAddr addrType="oraDriverType">
<Contents>thin</Contents>
</StringRefAddr>
</RefAddresses>
</Reference>
</References>
Edited by: Tshifhiwa on 2012/06/04 2:20 PM -
Error while getting image from database in SUP using ios?
Hi All,
Im developing native iOS application using sup 2.1.3 . Im getting error While retrieving image from SUP database. Here i'm trying to get image from database and show in imageView.can any one help me how to fix this issue?
In database image datatype is 'LONG Binary' .
My table Schema:
CREATE TABLE dba.ImagesTable (
RowID INT NOT NULL,
ImageName VARCHAR(20) NOT NULL,
PhotoData LONG BINARY NOT NULL,
IN SYSTEM
ALTER TABLE dba.ImagesTable
ADD CONSTRAINT ASA137 PRIMARY KEY CLUSTERED (RowID)
ALTER TABLE dba.ImagesTable
ADD CONSTRAINT ASA138 UNIQUE NONCLUSTERED (RowID)
in Xcode:
[SUP107SUP107DB synchronize];
SUP107ImagesTable *imgTable =[[SUP107ImagesTable alloc]init];
SUP107ImagesTableList *list =[SUP107ImagesTable findAll];
SUP107ImagesTable * oneRecord =[list objectAtIndex:0];
NSLog(@"rowId:%d---imageName:%@---photoData:%@---photoLenght:%d",oneRecord.rowID,oneRecord.imageName,oneRecord.photoData,oneRecord.photoDataLength);
NSData *tempData =[[NSData alloc]init];
SUPBigBinary *responseBinaryData = (SUPBigBinary *)oneRecord.photoData.value;
@try {
[responseBinaryData openForWrite:[oneRecord.photoData length]];
[responseBinaryData write:tempData];
@catch (NSException *exception) {
NSLog(@"exception: %@",[exception description]);
UIImageView *imgView =[[UIImageView alloc] initWithFrame:CGRectMake(50,50,100,100)];
[self.window addSubview:imgView];
UIImage * tempImage =[UIImage imageWithData:tempData];
imgView.image = tempImage;
[responseBinaryData close];
Error Log:
2014-04-02 18:42:15.150 SUP102[2873:70b] rowId:1---imageName:Apple---photoData:SUPBigBinary: column=c pending=1 allow_pending_state=1 table=sup107_1_0_imagestable mbo=0x0 key=(null) ---photoLenght:90656
Printing description of responseBinaryData:
<OS_dispatch_data: data[0xc891b40] = { leaf, size = 90656, buf = 0x1213a000 }>
2014-04-02 18:42:33.304 SUP102[2873:70b] -[OS_dispatch_data openForWrite:]: unrecognized selector sent to instance 0xc891b40
2014-04-02 18:42:33.305 SUP102[2873:70b] exception: -[OS_dispatch_data openForWrite:]: unrecognized selector sent to instance 0xc891b40
2014-04-02 18:42:33.305 SUP102[2873:70b] -[OS_dispatch_data close]: unrecognized selector sent to instance 0xc891b40
2014-04-02 18:42:33.306 SUP102[2873:70b] [ERROR] [AppDelegate.m:497] NSInvalidArgumentException: -[OS_dispatch_data close]: unrecognized selector sent to instance 0xc891b40This thread talks about uploading image to SAP from a IOS device,Sending Image to SAP via iOS Native app (SUP 2.1.3)
Midhun VP -
Getting Image from database in crystal report
Hi Experts,
I have a user UDF which has Image datatype. I store all the image in C:\Program Files\SAP\SAP Business One\Bitmaps\ folder.Now i have to show this image in my crystal report. When i tried to pick this image from database it gives me only the name of image with extension like abc.jpg . How could i achive this in crystal report.
Thanks and RegardsHi Om
As you have the location of the image, you can insert it as an OLE object onto the report.
Click on Insert -> OLE Object -> specify the path of the image.
For more information, please refer to Crystal Reports help.
Regards
Sourashree -
hi evey body
i wish some one help me for solve this problem .
when i use jdeveloper 11g to browse image from database using servlet (*without using Dynamic JDBC Credentials*) i can browse the image,
but when i use jdeveloper 11g to browse image from database using servlet with the solution by Steve Muench, Dynamic JDBC Credentials i always get this error :
java.Null.pointerException
Caused By: java.sql.SQLException: ORA-01005: null password given; logon denied
at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:70)
at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:133)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:206)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:455)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:406)
Truncated. see log file for complete stacktrace .
my question why i get this error? is servlet open new session ??
thanks in advance
maherhi every body
sorry for my repeated request , i wish some body help me to solve my problem or ask me some thing about my problem .
this the last request for this question and i will not upset you again .
thanks in advance
maher -
Display image from database with jspSmart
Hi
I have successfully uploaded and saved images into oracle(8.1.5) table DATA_TYPE(dtid number, iconname varchar2(30), icon blob). When I try to display a specific icon in my browser, I get "javax.servlet.ServletException: General error" at:
PreparedStatement pstmt = myConnection.prepareStatement(mySQL);
My code looks like this:
imgModifyDataType.jsp
<%
ResultSet myResultSet = null;
Statement myStatement = null;
Connection myConnection = null;
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();
myConnection = DriverManager.getConnection("Jdbc:Odbc:Te","te","te");
String iconName;
String pDTID = request.getParameter("dtid");
String mySQL = "Select iconname, icon from data_types where dtid=?";
PreparedStatement pstmt = myConnection.prepareStatement(mySQL);
pstmt.setString(1,pDTID);
myResultSet = pstmt.executeQuery();
iconName = myResultSet.getString("iconname");
myUpload.initialize(pageContext);
myUpload.downloadField(myResultSet,"icon","application/x-msdownload", iconName);
%>
I call this JSP from another JSP like this:
<img src="imgModifyDataType.jsp?dtid=<%=pDTID%>">
If we cannt display image with the help of another jsp like this then please guide me how to modify the imgModifyDataType.jsp to a servlet because I have never worked in servlets.
Please help
SajidI think that it may help you get image from database. I used two jsp page. First one is getphoto.jsp that makes as table based in sql statment and invoke the getimage.jsp this last returns images based on
the getphoto.jsp PhotoId.
/** getphoto.jsp source code */
<%@page import="java.sql.*,oracle.jdbc.*"%>
<html>
<head>
<title>
jsp1
</title>
</head>
<body bgcolor="#ffffff">
<table width="781" border="2">
<tr<<td>
<td width="83" bgcolor="#C0C0C0"><b>PhotoId</b><td width="450" bgcolor="#C0C0C0"><b>Description</b></td><td width="228" bgcolor="#C0C0C0"><b>Photo Image</b></td>
<%
Connection conn = null;
Statement stmt = null;
ResultSet rset = null;
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
conn = DriverManager.getConnection("jdbc:oracle:thin:@itas:1521:oraITAS","yourDbUserId","yourDbPassword");
stmt = conn.createStatement();
rset = stmt.executeQuery("select photo_id,photo_description from photo");
while (rset.next()) {
%>
<tr><td width="83"><%=rset.getObject("photo_id")%></td><td width="450"><%=rset.getObject("photo_description")%></td><td width="228"><img src="getimage.jsp?PhotoId=<%=rset.getObject("photo_id")%>" width="238" height="228"></td></tr>
<%
conn.close();
%>
</table>
</body>
</html>
/** getimage.jsp source code */
<%@ page contentType="image/jpeg; chaoResult=iso-8859-1" language="java" import="java.sql.*,java.io.*,java.util.*" errorPage="" %>
<%
String strConnString = null;
Connection oDbConn;
Statement oStmt;
ResultSet oResult;
String strConnection = null;
String strUserId = "c_erober";
String strUserPwd = "sybdev99";
String strDatabase = "oraITAS";
String strPhotoId;
strConnString = "jdbc:odbc:" + strDatabase;
String strSql;
try {
strPhotoId = (String) request.getParameter("PhotoId");
strSql = "select photo_image from photo" + ( (strPhotoId==null) ? " where photo_id = '001'": (" where photo_id = '" + strPhotoId + "'") );
DriverManager.registerDriver(new sun.jdbc.odbc.JdbcOdbcDriver());
oDbConn = DriverManager.getConnection(strConnString,strUserId,strUserPwd);
response.setContentType("image/jpeg");
oStmt = oDbConn.createStatement();
oResult = oStmt.executeQuery(strSql);
oResult.next();
byte[] bytearray = new byte[4096];
int size=0;
InputStream sImage;
sImage = oResult.getBinaryStream(1);
response.reset();
response.setContentType("image/jpeg");
response.addHeader("Content-Disposition","filename=getimage.jpeg");
while((size=sImage.read(bytearray))!= -1 ) {
response.getOutputStream().write(bytearray,0,size);
response.flushBuffer();
sImage.close();
oDbConn.close();
} catch (SQLException ex) { ex.getMessage();
%> -
How to retrieve am image from database
hi ,
i hav a requirement that, i hav to store and retrive an image from database(postgresql)and palce it on JLabel.i successfully stored an image into database .while retrieving an image from database im not getting the image .please any one can help me how to retrieve an image and place it in JLabel.
This the code for inserting an image:
Class.forName("org.postgresql.Driver");
Connection conn = DriverManager.getConnection("jdbc:postgresql://localhost:port/database", "username", "pwd");
System.out.println("Connection established");
String INSERT_PICTURE = "insert into imagedata(imageid,data) values (?, ?)";
FileInputStream fis = null;
PreparedStatement ps = null;
try {
conn.setAutoCommit(false);
File file = new File("photo.jpg");
fis = new FileInputStream(file);
ps = conn.prepareStatement(INSERT_PICTURE);
ps.setInt(1, 2);
ps.setBinaryStream(2, fis, (int) file.length());
ps.executeUpdate();
conn.commit();
catch(Exception ex)
ex.printStackTrace();
finally {
ps.close();
fis.close();This is the code for retrieve an image :
Class.forName("org.postgresql.Driver");
Connection conn = DriverManager.getConnection("jdbc:postgresql://localhost:port/database", "username", "pwd");
byte[] imgbytes = null;
String INSERT_PICTURE = "select imageid,data from imagedata ";
Statement stmt=(Statement) conn.createStatement();
try {
ResultSet rs=stmt.executeQuery(INSERT_PICTURE);
while(rs.next())
System.out.println(rs.getString(1));
InputStream file=rs.getBinaryStream(2);
System.out.println("FILE : "+file);
catch(SQLException a)
finally {
stmt.close();please anyone can help meee
thanksYou basically save a File to the database, so you can just re-write the data from the file back temporarily and load it into the application using the ImageIO class
// create necessary connection and statement objects
// retrieve image column
ResultSet rs = stmt.executeQuery("SELECT Image FROM dataTable");
rs.next();
Blob imageData = rs.getBlob("Image");
if( imageData != null ) {
try {
File tmpFile = new File("tmpImage");
FileOutputStream fos = new FileOutputStream(tmpFile);
fos.write( imageData.getBytes(1L, (int)imageData.length()) );
fos.close();
tmpFile.deleteOnExit();
ImageIcon icon = new ImageIcon( ImageIO.read(tmpFile) );
JOptionPane.showMessageDialog(null, icon);
} catch(IOException ioe) {
ioe.printStackTrace();
JOptionPane.showMessageDialog(null, "Failed To Load Image Data", "Load Error",
JOptionPane.ERROR_MESSAGE);
}ICE -
Retriving an Image From Database
Hi friends i tried to retrieve an image from database and get some sample code from one website and try to run. But an error will be displayed please help me..... this is the code............
* To change this template, choose Tools | Templates
* and open the template in the editor.
import java.io.*;
import java.sql.*;
class GetBlob {
FileOutputStream image;
Connection con = null;
PreparedStatement pstmt = null;
Statement stmt= null;
ResultSet res = null;
StringBuffer query=null;
String driverName = "sun.jdbc.odbc.JdbcOdbcDriver";
String url = "jdbc:odbc:image";;
public GetBlob(){
try{
Class.forName(driverName);
con = DriverManager.getConnection(url);
stmt=con.createStatement();
ResultSet rs=stmt.executeQuery("SELECT * FROM save_image where id="+"1"+"");
if (rs.next()) {
System.out.println(rs.getString(2));
Blob test=rs.getBlob("image");
InputStream x=test.getBinaryStream();
int size=x.available();
OutputStream out=new FileOutputStream("C:\\anu.jpg");
byte b[]= new byte[size];
x.read(b);
out.write(b);
catch(Exception e){
System.out.println("Exception :"+e);
finally{
try{
stmt.close();
con.close();
catch(Exception e){
System.out.println(e);
public static void main(String args[]) throws IOException{
GetBlob blob = new GetBlob();
The error is
java.lang.UnsupportedOperationException
please help me...Use a real database and a real driver. MS Access and ODBC bridge aren't.
-
Retrieving image from database in form 6i
hello all
i'm working on form 6i...
i have uploded images into the database of customers in my application using READ_IMAGE_FILE.. IT IS FINE...
But when i am trying retrieves records into the form.... i'm getting all the data except image... Image field is showing empty..
How can i get image from database to form
can u plz help me.....
thanksWhat data type you used for storing image in database. If it is long raw, then you can place an image item within your data block on form and associate it with the column name. This should populate the image by itself.
Below para is from Forms Help.
Image items can be populated in the following ways:
+1. a fetch from a LONG RAW database column+
An image item in a data block is populated automatically when the end user or the application executes a query in the block. When a fetched image is modified or replaced, Form Builder marks that record as Changed, and the next commit operation saves the new image to the corresponding LONG RAW column in the database.
Note: You cannot write a SELECT statement to select a LONG RAW value INTO an image item.
+2. executing the READ_IMAGE_FILE built-in to read an image from the file system+
+(To dynamically write an image from an image item out to a file, use the built-in procedure WRITE_IMAGE_FILE.)+ -
I am facing a Problem with reading images from database
Hi everybody..
any help will be most appreciated, I am facing problem with reading images from database. I am pasting my code...
string connect = "datasource = localhost; port = 3306; username = root; password = ;";
MySqlConnection conn = new MySqlConnection(connect); // creating connecting string
MySqlCommand sda = new MySqlCommand(@"select * from management.add_products ", conn); //creating query
MySqlDataReader reader;
try
conn.Open(); // Opening Connection
reader = sda.ExecuteReader(); // Executing my Query..
while (reader.Read())
byte[] imgg = (byte[])(reader["Picture"]);
if (imgg == null)
pc1.Image = null;
else
MemoryStream mstream = new MemoryStream(imgg);
pc1.Image = System.Drawing.Image.FromStream(mstream);
It says Parameter not Valid... i am reading all the images from databaseI agree with Viorel. You are getting the error because the format of the data is incorrect probably because the data was modify. It may not be the reading of the database the is incorrect, but the application that wrote the data into the database. You need
to compare the imgg array data with the data before it was written to the database to see if the data matches. I usually start by comparing the number of bytes which is easier to check then compare the actual to isolate which function is changing the
byte count.
An image is binary data. The standard VS methods for reading and writing data (usually stream classes) default to ASCII encoding which will corrupt binary data. The solution usually is to use UTF8 encoding instead of the default ascii encoding.
Ascii encoding with stream often aligns the data and adds extra null bytes to the end of the data which can produce these type errors.
jdweng -
How do I view multiple images from different projects at the same time?
Hello
I've been trying to find the answer in the user manual, but no luck so far.
I did find how to open 2 projects at once, but I can only see one image at a time in the viewer and I have to keep going back and forth between projects to compare images. (These are scans of old photos and I want to eliminate the ones that are poorer quality, so need to compare numerous images from 2 sets of scans)
How can I view an image from one project at the same time as an image from another? I know that it can be done in the same project by apple-clicking the second, third etc image, but this doesn't work if the images are from different projects.
Thank you
ElizabethThank you again Tony
I've now created an album, independent of the projects, and dragged test images into it and it does just the job I needed. Now i just need to keep my brain sorted with which ones are which while i'm working
Elizabeth -
Retrieve multiple images from database to servlet
Hi there,
I try to retrieve more than one images from database to Servlet/JSP . However, I get only one images in the result set. Here is my code. Please Help .
How do I display more than one images ( multiple rows ) from database to Servlet ?.
When I retrieve, I got 3 rows of binary data, but I don't know how to display it on the Servlet/JSP pages.
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import java.lang.*;
import java.sql.*;
import com.sybase.jdbcx.*;
public class RetrievePhoto extends HttpServlet {
static ResultSet rs;
static CallableStatement NGSstmt = null;
static Connection NGScon = null;
static SybDriver _driver = null;
public void doGet(HttpServletRequest req, HttpServletResponse res) throws
ServletException, IOException {
ServletOutputStream os = res.getOutputStream();
String driver = ""
String URL = "";
String Host = "";
String UN = ""; //assign your username here
String PW = ""; //assign your password here
try {
Class c = Class.forName( driver );
_driver = (SybDriver) c.newInstance();
DriverManager.registerDriver( (SybDriver) _driver );
NGScon = DriverManager.getConnection( URL + Host, UN, PW );
} catch ( SQLException e ) {
os.println( "Unable to load the Sybase JDBC driver. " + e.toString() );
e.printStackTrace(System.out);
} catch (java.lang.Exception ex) {
// Got some other type of exception. Dump it.
os.println("Exception - java lang " + ex.getMessage() );
String PID = req.getParameter("PID"); //passing parameters from Servlet
try {
String SQLcmd = "{call RET_PHOTO_BY_PID(?)}";
NGSstmt = NGScon.prepareCall( SQLcmd );
//execute the query
synchronized (NGSIDBstmt)
NGSstmt.setString(1, PID); //passing parameter to store procedure
rs = NGSstmt.executeQuery();
byte[] stuff = new byte[1024];
int bytesRead = 0;
res.setContentType("image/gif");
InputStream is = null;
// Get the first row
while( rs.next() ) {
is = rs.getBinaryStream("PHOTO");
res.setContentLength(is.available());
for (int i=0;; i++) {
bytesRead = is.read(stuff);
os.write(stuff);
if ( bytesRead == -1 ) break;
rs.close();
os.flush();
os.close(); //close outputstream
} catch ( SQLException sqle) {
os.println("Error in SQL2Exception" + sqle.getMessage());When I retrieve, I got 3 rows of binary data, but I don't know how to display it on the Servlet/JSP pages.I will pick this bit of your post, because you seemed to have several partly-overlapping questions.
You are going about this wrong. You need to decide what your HTML will look like before you start writing servlet code. In this case you want to have something like a table, with an image in each row, right? Now what does the HTML for that look like? It's a <table> element, and so on, but what about the images? Well this is HTML, so it can't contain the binary images. It has to contains links to the images, and the browser will download the image from each of those links and put all of the downloads together into the page it displays.
That means you can't do it all with one servlet. You need a main servlet that generates the HTML, with the <table> element and the links to the images. Probably you need some DB calls here to find out how many images you're going to have, but you don't need to get them in this servlet. You just need to generate a link for each of them.
Then you need a second servlet that gets an image. It's going to get a single row from the DB and return the binary image you read from that row. Make sure to use "image/jpg" or whatever's appropriate instead of "text/html" in your response's content type here.
I will leave you to carry on from here. First step is to design the HTML that your main servlet will produce; remember that the links it generates need to carry enough information for the second servlet to be able to find the right image in the DB.
PC² -
RE: Images from Database into W
I've found that a good way to store images was not in the database, but
in files on the server in GIF format and then store the filenames in the
database. That way you avoid the BinaryData mess, the cursor
requirement for blobs, and can store in a compressed form..
You just have the service read in the image from the data file and pass
it back to the requestor, if I remember right.. Also nice because the
same GIF files can be used in normal HTML web pages..
-Greg
Greg Nyberg, Senior Consultant
BORN Information Services Group
(612) 404-4217 Fax: (612) 404-4440
<[email protected]>
From: Brendan Duddridge[SMTP:[email protected]]
Sent: Monday, April 28, 1997 12:28 PM
To: Forte ListServe
Subject: Images from Database into W
TransCanada PipeLines P.O. Box
1000, Station
M
Calgary,
Alberta, T2P
4K5
Telephone:
(403)
267-6100
FAX: (403)
267-6444/5/6
Corporate Head Office
Reply: Images from Database into Web SDK 1.1 page
Hi,
I want to be able to read images in from a database and have Forte
generate a web page with those images.
Does anyone know what the MIME type would be for a Forte ImageData
object? Do I have to store the images into the database in gif format
or is there some other MIME format that Forte uses to store ImageData
objects. Also, can Netscape or Internet Explorer read those images?
Here is the ReturnImage page builder method I created:
=============================================================
Response : HTTPResponse = new();
LUIObject_ID : Integer;
LUIObject_TD : TextData = new();
aLUIObject : LUIObject;
aBinaryData : BinaryData = new();
aStream : MemoryStream = new();
// Retrieve LUIObject_ID from http parameters
LUIObject_TD = pRequest.FindNameValue('LUIObject_ID');
LUIObject_ID = LUIObject_TD.IntegerValue;
// Retrieve aLUIObject for the specified LUIObject_ID from the
database.
// This object contains various ImageData attributes which contain the
// icons to display on the web page.
aLUIObject = SODIInfraSOMgrSO.SelectLUIObject(LUIObject_ID);
aBinaryData.SetAllocatedSize(aLUIObject.ClosedLargeIconSize);
aStream.Open(accessMode = SP_AM_READ_WRITE, isBinary = TRUE);
aStream.WriteSerialized(object=aLUIObject.ClosedLargeIcon);
aStream.Seek(0);
aStream.ReadBinary(target = aBinaryData);
// Not sure what MIME type to specify here for ImageData objects
// read in from a database. Any ideas??????????
Response.AssignBinaryResponse(aBinaryData, 'image/x-bitmap');
return Response;
===============================================================
Thanks,
Brendan DuddridgeHello Denis Segard,
I also try the same method and I use OLE container to store the images into database in Oracle forms 6i.
But, if i try to retrieve the images in report i got that error.
Anyway i store the images into the database but why i shouldn't retrieve it in reports and i can retrieve the images in forms
Is there any problem in my design.
Is there any other easy way to store the images into database in oracle forms 6i...
Waiting 4 ur reply!!!!!!!!
Edited by: Janarthan on Aug 19, 2011 12:36 AM
Edited by: Janarthan on Aug 19, 2011 12:39 AM -
Read Tif Image from Database Display in Windows Fax Viewer
Code for reading a BLOB from Oracle which is a TIF image and displaying it in Windows Picture and Fax Viewer. Gives the ability to display with perfect resolution, Zoom In & Out, Rotate and Print.
I m storing the image on my C drive, you can store where ever you want.
package com.test.examples;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import oracle.sql.BLOB;
public class Test {
* Main method for calling the View Tif Image method.
* @param args
public static void main(String[] args) {
String id = "123";
Test test = new Test();
test.viewTifImage(id);
* Method for viewing TIF Image
public void viewTifImage(final String id) {
BLOB blob = null;
FileOutputStream outStream = null;
InputStream inStream = null;
final String filename = "C:\\Images\\image.tif";
if (Helper.stringNotNullAndEmpty(id)) {
try {
imageDAO = new ImageDAO();
blob = imageDAO.getImageBLOB(id);
File blobFile = new File(filename);
outStream = new FileOutputStream(blobFile);
inStream = blob.getBinaryStream();
int length = -1;
int size = new Long(blob.length()).intValue();
byte[] buffer = new byte[size];
while ((length = inStream.read(buffer)) != -1) {
outStream.write(buffer, 0, length);
outStream.flush();
showTiff(filename);
inStream.close();
outStream.close();
} catch (IOException ioe) {
System.out.println("Exception in IO block.");
ioe.printStackTrace();
try {
inStream.close();
outStream.close();
} catch (IOException ioe1) {
ioe1.printStackTrace();
}catch (DAOException daoe) {
System.out.println("Exception while getting the BLOB");
daoe.printStackTrace();
} catch (Exception ex) {
System.out.println("ERROR(djv_exportBlob) Unable to export:"
+ filename);
ex.printStackTrace();
} finally {
try {
inStream.close();
outStream.close();
} catch (IOException e) {
System.out.println("Exception in IO block.");
e.printStackTrace();
public static boolean showTiff(String fileName) throws IOException {
String progDir = System.getenv().get("SystemRoot");
System.out.println("SYSTEM ROOT DIRECTORY" + progDir);
// turn the backslash around to a forward slash
int x = progDir.indexOf('\\');
String front = progDir.substring(0, x);
String back = progDir.substring(x + 1);
progDir = front + "/" + back;
String osCmd = progDir + "/system32/rundll32.exe " + progDir
+ "/system32/shimgvw.dll,ImageView_Fullscreen " + fileName;
try {
System.out.println("command is " + osCmd);
Runtime rt = Runtime.getRuntime();
Process ps = rt.exec(osCmd);
} catch (IOException ie) {
System.out.println("error running fax viewer");
return false;
return true;
Let me know if you find some thing wrong in here.
Thanks
raffuREad all the file paths from DB in e.g. List<String>. Define javax.swing.Timer.
How to use timer read here
http://leepoint.net/notes-java/other/10time/20timer.html
or
http://docs.oracle.com/javase/tutorial/uiswing/misc/timer.html
When the timer's actionPerformed happens use next index in the array to get next filePath and show your image. When end of list is achieved just stop the timer (or startd from the beginning of the list again). -
Viewing Images from Database using JSP/ SQLJ
Dear Friends,
I could manage to write an image into a BLOB Field in the Oracle
Database. I could even manage to read that image from the
database but i am doing it by reading the BLOB data and writing
it into a file with 'gif' or 'jpeg' extension.
I would like to know how to read the BLOB data dynamically in
cache and display it on the JSP page in the browser without
creating a file on the disk.
Thanking you,
SarwottamThanks for replying,
Can you please elaborate on your suggestions ?
If possible can you provide a sample code that would help me understand better?
Thanks again.
Sarwottam
Maybe you are looking for
-
Purchase info record and Contract are not reflected in SC
Hi... while i am creating a shopping cart in SRM for a particular product... i am not able to find the Purchase info record or Contract in SC - Source of supply tab... I maintained the Purchase info record and Contract for the particular material
-
How to get information about file owner in UNIX
Dear all I would like to write a file management program in Solaris 8 using Java. However, I don't know how to get the file owner and file permission information by any Java class. Please advise. Sincerely Yours Mr. Voravit H.
-
Fund management tables..
Hi friends what are the tables and fields in Fumd Management (F.M) Module in SAP which are related to Document Number? For Ref: Transaction FB03 (Document Number ) Regards Sivaji
-
Possible video problems in iTunes 8.1 [no grid or cover flow views]
I had posted this problem under iTunes, but mentors there suggested instead I connect it to a video problem *"...my video drivers or other related problems I've had over the last two months with the iPhoto...* *Ah, didn't know about that. Try re-post
-
Get Subscription Using Skype Credit
I am in Canada, trying to get the China 800min Subscription using my current Skype Credit (CAD$14.00), but i was transfering to the Chinese website all the time when i click Buy Now.. Wondering is there any way to buy subscription using Skype Credit