Home All Groups Group Topic Archive Search About

OracleCommand ExecuteReader failing

Author
3 Feb 2006 11:19 AM
Oldman
I have a stored procedure that I pass some XML in as a parameter.
I am using the OracleCommand object and when I execute the ExecuteReader
method I get the following error:

Internal .Net Framework Data Provider error 30.

Stack trace:

   at System.Data.ProviderBase.DbBuffer.Validate(Int32 offset, Int32 count)
   at System.Data.ProviderBase.DbBuffer.PtrToStringUni(Int32 offset)
   at System.Data.OracleClient.OciHandle.PtrToString(NativeBuffer buf)
   at
System.Data.OracleClient.OracleException.CreateException(OciErrorHandle
errorHandle, Int32 rc)
   at System.Data.Common.ADP.OracleError(OciErrorHandle errorHandle, Int32 rc)
   at System.Data.OracleClient.OracleConnection.CheckError(OciErrorHandle
errorHandle, Int32 rc)
   at System.Data.OracleClient.OracleCommand.Execute(OciStatementHandle
statementHandle, CommandBehavior behavior, Boolean needRowid,
OciRowidDescriptor& rowidDescriptor, ArrayList& resultParameterOrdinals)
   at System.Data.OracleClient.OracleCommand.Execute(OciStatementHandle
statementHandle, CommandBehavior behavior, ArrayList& resultParameterOrdinals)
   at System.Data.OracleClient.OracleCommand.ExecuteReader(CommandBehavior
behavior)
   at System.Data.OracleClient.OracleCommand.ExecuteDbDataReader

Does anybody know what this is about?

Thanks,

Chris

Author
5 Feb 2006 11:17 AM
Frans Bouma [C# MVP]
Oldman wrote:

Show quote
> I have a stored procedure that I pass some XML in as a parameter.
> I am using the OracleCommand object and when I execute the
> ExecuteReader method I get the following error:
>
> Internal .Net Framework Data Provider error 30.
>
> Stack trace:
>
>    at System.Data.ProviderBase.DbBuffer.Validate(Int32 offset, Int32
> count)    at System.Data.ProviderBase.DbBuffer.PtrToStringUni(Int32
> offset)    at
> System.Data.OracleClient.OciHandle.PtrToString(NativeBuffer buf)
> at
> System.Data.OracleClient.OracleException.CreateException(OciErrorHandl
> e errorHandle, Int32 rc)    at
> System.Data.Common.ADP.OracleError(OciErrorHandle errorHandle, Int32
> rc)    at
> System.Data.OracleClient.OracleConnection.CheckError(OciErrorHandle
> errorHandle, Int32 rc)    at
> System.Data.OracleClient.OracleCommand.Execute(OciStatementHandle
> statementHandle, CommandBehavior behavior, Boolean needRowid,
> OciRowidDescriptor& rowidDescriptor, ArrayList&
> resultParameterOrdinals)    at
> System.Data.OracleClient.OracleCommand.Execute(OciStatementHandle
> statementHandle, CommandBehavior behavior, ArrayList&
> resultParameterOrdinals)    at
> System.Data.OracleClient.OracleCommand.ExecuteReader(CommandBehavior
> behavior)    at
> System.Data.OracleClient.OracleCommand.ExecuteDbDataReader
>
> Does anybody know what this is about?
>

    You're sure the XML is valid xml?

    Perhaps some code you're using to call the Oracle Provider is handy
here ;)

        FB


--
------------------------------------------------------------------------
Get LLBLGen Pro, productive O/R mapping for .NET: http://www.llblgen.com
My .NET blog: http://weblogs.asp.net/fbouma
Microsoft MVP (C#)
------------------------------------------------------------------------
Author
8 Feb 2006 12:20 PM
Oldman
I found the problem.  It was that the parameter had a ':' in front of the
name and it didn't like that.  Once I removed it the problem went away.

Thanks for your help,

Chris

Show quote
"Frans Bouma [C# MVP]" wrote:

> Oldman wrote:
>
> > I have a stored procedure that I pass some XML in as a parameter.
> > I am using the OracleCommand object and when I execute the
> > ExecuteReader method I get the following error:
> >
> > Internal .Net Framework Data Provider error 30.
> >
> > Stack trace:
> >
> >    at System.Data.ProviderBase.DbBuffer.Validate(Int32 offset, Int32
> > count)    at System.Data.ProviderBase.DbBuffer.PtrToStringUni(Int32
> > offset)    at
> > System.Data.OracleClient.OciHandle.PtrToString(NativeBuffer buf)
> > at
> > System.Data.OracleClient.OracleException.CreateException(OciErrorHandl
> > e errorHandle, Int32 rc)    at
> > System.Data.Common.ADP.OracleError(OciErrorHandle errorHandle, Int32
> > rc)    at
> > System.Data.OracleClient.OracleConnection.CheckError(OciErrorHandle
> > errorHandle, Int32 rc)    at
> > System.Data.OracleClient.OracleCommand.Execute(OciStatementHandle
> > statementHandle, CommandBehavior behavior, Boolean needRowid,
> > OciRowidDescriptor& rowidDescriptor, ArrayList&
> > resultParameterOrdinals)    at
> > System.Data.OracleClient.OracleCommand.Execute(OciStatementHandle
> > statementHandle, CommandBehavior behavior, ArrayList&
> > resultParameterOrdinals)    at
> > System.Data.OracleClient.OracleCommand.ExecuteReader(CommandBehavior
> > behavior)    at
> > System.Data.OracleClient.OracleCommand.ExecuteDbDataReader
> >
> > Does anybody know what this is about?
> >
>
>     You're sure the XML is valid xml?
>
>     Perhaps some code you're using to call the Oracle Provider is handy
> here ;)
>
>         FB
>
>
> --
> ------------------------------------------------------------------------
> Get LLBLGen Pro, productive O/R mapping for .NET: http://www.llblgen.com
> My .NET blog: http://weblogs.asp.net/fbouma
> Microsoft MVP (C#)
> ------------------------------------------------------------------------
>

AddThis Social Bookmark Button