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

Re: OracleCommand ExecuteReader failing by Frans

Frans
Sun Feb 05 05:17:41 CST 2006

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#)
------------------------------------------------------------------------

Re: OracleCommand ExecuteReader failing by Oldman

Oldman
Wed Feb 08 06:20:29 CST 2006

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

"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#)
> ------------------------------------------------------------------------
>