OracleException

G

Guest

When we do remote calls to a component that throws a System.Data.OracleClient.OracleException, we see a SerializationException when the original OracleException is being deserialized on the client

Any ideas

22-Apr-2004 10:05:46---System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Runtime.Serialization.SerializationException: Member message was not found
at System.Runtime.Serialization.SerializationInfo.GetElement(String name, Type& foundType
at System.Runtime.Serialization.SerializationInfo.GetValue(String name, Type type
at System.Data.OracleClient.OracleException..ctor(SerializationInfo si, StreamingContext sc
--- End of inner exception stack trace --

Server stack trace:
at System.Reflection.RuntimeConstructorInfo.SerializationInvoke(Object target, SerializationInfo info, StreamingContext context
at System.Runtime.Serialization.ObjectManager.CompleteISerializableObject(Object obj, SerializationInfo info, StreamingContext context
at System.Runtime.Serialization.ObjectManager.FixupSpecialObject(ObjectHolder holder
at System.Runtime.Serialization.ObjectManager.DoFixups(
at System.Runtime.Serialization.Formatters.Binary.ObjectReader.Deserialize(HeaderHandler handler, __BinaryParser serParser, Boolean fCheck, IMethodCallMessage methodCallMessage
at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize(Stream serializationStream, HeaderHandler handler, Boolean fCheck, IMethodCallMessage methodCallMessage
at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.UnsafeDeserializeMethodResponse(Stream serializationStream, HeaderHandler handler, IMethodCallMessage methodCallMessage
at System.Runtime.Remoting.Channels.CoreChannel.DeserializeBinaryResponseMessage(Stream inputStream, IMethodCallMessage reqMsg, Boolean bStrictBinding
at System.Runtime.Remoting.Channels.BinaryClientFormatterSink.DeserializeMessage(IMethodCallMessage mcm, ITransportHeaders headers, Stream stream
at System.Runtime.Remoting.Channels.BinaryClientFormatterSink.SyncProcessMessage(IMessage msg

Exception rethrown at [0]:
at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg
at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type
at OracleExceptionInterfaces.BaseSimpleData_DA.GetData(
at OracleExceptionClient.Form1.Button1_Click(Object sender, EventArgs e) in C:\Starr\EBusiness.Net\Applications\OracleExceptionClient\Form1.vb:line 65
 
G

Gary Chang

Hi Mike,

Currently I am looking for somebody who could help you on it. We will reply
here with more information as soon as possible.
If you have any more concerns on it, please feel free to post here.


Thanks for your understanding!

Best regards,

Gary Chang
Microsoft Online Partner Support

Get Secure! - www.microsoft.com/security
This posting is provided "AS IS" with no warranties, and confers no rights.
--------------------
 
T

Tian Min Huang

Hello,

Thanks for your post. As I understand, the problem you are facing is that
it fails to deserialize an OracleEception. Please correct me if there is
any misunderstanding. I think more information is needed before moving
forward:

1. What's the version of .NET Framework, 1.0 or 1.1?
2. What's the content of OracleException?
3. Could you please post some code snippet which will demonstrate the
problem?

I look forward to hearing from you.

Regards,

HuangTM
Microsoft Online Partner Support
MCSE/MCSD

Get Secure! -- www.microsoft.com/security
This posting is provided "as is" with no warranties and confers no rights.
 
G

Guest

Tim -

Here are the answers to your question

1. We are using the 1.1 framework

2. When the debuging the "server side", the Server Exception i
? ex.tostrin
"System.Data.OracleClient.OracleException: ORA-00942: table or view does not exis

at System.Data.OracleClient.OracleConnection.CheckError(OciHandle errorHandle, Int32 rc
at System.Data.OracleClient.OracleCommand.Execute(OciHandle statementHandle, CommandBehavior behavior, Boolean isReader, Boolean needRowid, OciHandle& rowidDescriptor, ArrayList& refCursorParameterOrdinals
at System.Data.OracleClient.OracleCommand.Execute(OciHandle statementHandle, CommandBehavior behavior, ArrayList& refCursorParameterOrdinals
at System.Data.OracleClient.OracleCommand.ExecuteReader(CommandBehavior behavior
at System.Data.OracleClient.OracleCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior
at System.Data.Common.DbDataAdapter.FillFromCommand(Object data, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior
at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior
at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet
at OracleExceptionTest.SimpleData_DA.GetData() in C:\Starr\EBusiness.Net\Applications\OracleExceptionTest\SimpleData_DA.vb:line 59

3. Here are the 2 pieces of code involvedâ€

SERVER PROCES
Tr

oDs = New DataSe
'Connecting to a valid Oracle D
oConn = New OracleClient.OracleConnection("Server=DWT.world;Uid=leguser;Pwd=north01"
oConn.Open(
'The following lines cause an oracle exceptio
Dim oCommand As New OracleCommand("Select * from DWT.bob", oConn
oDA = New OracleDataAdapter(oCommand

oDA.Fill(oDs

oConn.Close(

bContinue = Fals
Catch ex As OracleExceptio
Throw e
Catch ex As Exceptio
Throw e
Finall
If Not (oConn Is Nothing) The
oConn.Dispose(
End I
End Tr

Return oD

CLIENT PROCES
sURI = String.Format("tcp://{0}:{1}/{2}.rem", "localhost", "6742", "SimpleData_DA"
oTest = CType(Activator.GetObject(GetType(OracleExceptionInterfaces.BaseSimpleData_DA), sURI), OracleExceptionInterfaces.BaseSimpleData_DA
oTest.GetData(

We can provide simple client & server applications which demonstrate the problem
 
T

Tian Min Huang

Hello,

Thanks a lot for your information. After further investigation, I noticed
this is a known issue in deserialization method of the
System.Data.OracleClient.dll.

I will send you another email for detailed information.

Regards,

HuangTM
Microsoft Online Partner Support
MCSE/MCSD

Get Secure! -- www.microsoft.com/security
This posting is provided "as is" with no warranties and confers no rights.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top