Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.misc -> Re: Getting Error -3016 from ODP.Net

Re: Getting Error -3016 from ODP.Net

From: Frank van Bortel <frank.van.bortel_at_gmail.com>
Date: Sat, 04 Nov 2006 07:28:41 +0100
Message-ID: <eig1m4$6ub$1@news2.zwoll1.ov.home.nl>


Terry schreef:
> All:
>
> I'm attempting to write a value into a Blob. The database is Oracle
> 8.0.6, and I've installed the ODAC 9.2.0.7.0. I'm calling this from an
> ASP.Net v1.1 web service.
>
> Here is the table definition:
>
> TABLE_X_ATTACHMENTS_STAGE (
> OBJID NUMBER,
> CASE_ID VARCHAR2 (30) NOT NULL,
> SITE_ID VARCHAR2 (30) NOT NULL,
> FILE_NAME VARCHAR2 (512),
> CONTENTS BLOB
> )
>
> Here's the code:
>
> string sqlAttachmentCmd =
> @"insert into sa.table_x_attachments_stage " +
> "(objid, case_id, site_id, file_name, contents) " +
> "values (3, :case_id, :site_id, :file_name, :contents)" ;
>
> byte [] contentsByteArr =
> Convert.FromBase64String(attachment.contents);
> int retVal = 0;
>
> conn=new OracleConnection(connstr);
>
> conn.Open();
> OracleParameter caseIDParameter = new
> OracleParameter("case_id",caseID);
> OracleParameter siteIDParameter = new
> OracleParameter("site_id",siteID);
> OracleParameter fileNameParameter = new
> OracleParameter("file_name",attachment.fileName);
> OracleParameter blobParameter = new
> OracleParameter("contents",OracleDbType.Blob);
>
> blobParameter.Value = contentsByteArr;
>
> cmnd=new OracleCommand(sqlAttachmentCmd,conn);
>
> cmnd.Parameters.Add(caseIDParameter);
> cmnd.Parameters.Add(siteIDParameter);
> cmnd.Parameters.Add(fileNameParameter);
> cmnd.Parameters.Add(blobParameter);
>
> retVal = cmnd.ExecuteNonQuery();
>
> And here's the exception I'm receiving:
>
> CaseAttachment(): Error
> Number=-3016 => - Oracle Data Provider for .NET
> Oracle.DataAccess.Client.OracleException at
> Oracle.DataAccess.Client.OracleException.GetOpoErr(IntPtr opsErrCtx,
> Int32 arrayBindIndex, String dataSrc, String procedure)
> at Oracle.DataAccess.Client.OracleException.GetOpoErrCtx(IntPtr
> opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, IntPtr opsConCtx, String
> dataSrc, String procedure)
> at Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32
> errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx*
> pOpoSqlValCtx, Object src, String procedure)
> at Oracle.DataAccess.Types.OracleBlob.CreateTempLob()
> at Oracle.DataAccess.Types.OracleBlob.Write(Byte[] buffer, Int32
> offset, Int32 count)
> at
> Oracle.DataAccess.Client.OracleParameter.PreBind_Blob(OracleConnection
> conn)
> at Oracle.DataAccess.Client.OracleParameter.PreBind(OracleConnection
> conn, IntPtr errCtx, Int32 arraySize)
> at Oracle.DataAccess.Client.OracleCommand.ExecuteNonQuery()
>
> I'm at a loss as to the cause.
>
> Suggestions?
>

And what do you think the error signifies?

-- 
Regards,
Frank van Bortel

Top-posting is one way to shut me up...
Received on Sat Nov 04 2006 - 00:28:41 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US