Skip to Main Content

ODP.NET

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Interested in getting your voice heard by members of the Developer Marketing team at Oracle? Check out this post for AppDev or this post for AI focus group information.

Managed ODP.Net Beta 2: ORA-03111

290833Apr 19 2013 — edited May 3 2013
I am trying a small test project with the new ODP.NET Managed Driver Beta 2.

I have installed using configure.bat and I am trying to connect to an Oracle 10.1 instance.

On the call to OracleConnection.Open() the following exception is thrown:

"ORA-03111: Break received on communication channel"

StackTrace:
   at Oracle.ManagedDataAccess.Client.OracleException.HandleError(OracleTraceLevel level, OracleTraceTag tag, Exception ex)
   at OracleInternal.ServiceObjects.OracleConnectionImpl.DoDataTypeNegotiation()
   at OracleInternal.ServiceObjects.OracleConnectionImpl.Connect(ConnectionString cs, Boolean bOpenEndUserSession)
   at OracleInternal.ConnectionPool.PoolManager`3.CreateNewPR(Int32 reqCount, Boolean bForPoolPopulation, ConnectionString csWithDiffOrNewPwd)
   at OracleInternal.ConnectionPool.PoolManager`3.Get(ConnectionString csWithDiffOrNewPwd)
   at OracleInternal.ConnectionPool.OraclePoolManager.Get(ConnectionString csWithNewPassword)
   at OracleInternal.ConnectionPool.OracleConnectionDispenser`3.Get(ConnectionString cs, PM conPM, ConnectionString pmCS, SecureString securedPassword, SecureString securedProxyPassword)
   at Oracle.ManagedDataAccess.Client.OracleConnection.Open()
   at ConsoleApplication5.Program.Main(String[] args)
Testing program source:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Oracle.ManagedDataAccess.Client;

namespace ConsoleApplication5
{
    class Program
    {
        static void Main(string[] args)
        {
            string connstring = "User Id=scott;Password=tiger;Data Source=testserver:1521/testservice";
            var conn = new Oracle.ManagedDataAccess.Client.OracleConnection(connstring);
            conn.Open();
            conn.Close();
            Console.ReadLine();
        }
    }
}
Server version:
scott@TESTSERVICE(196)> select * from v$version
  2  /

BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.1.0.5.0 - Prod
PL/SQL Release 10.1.0.5.0 - Production
CORE    10.1.0.5.0      Production
TNS for 32-bit Windows: Version 10.1.0.5.0 - Production
NLSRTL Version 10.1.0.5.0 - Production
Any ideas?
This post has been answered by Alex Keh-Oracle on Apr 19 2013
Jump to Answer

Comments

jtahlborn
Basically, java wasn't designed to be that low level. Other than that, probably no good reason.
800670
Yes, I see, but why isn´t it possible to write the header myself when it consists of usual bytes? That is what I can not understand.
EJP
At a guess it is because either (a) using raw sockets requires privileges and/or (b) Microsoft keep changing the raw sockets API or (c) it's a general-purpose programming language and why would you want to do that?
++sja
You can do raw sockets with third party libraries. They won't be pure java - but you didn't really expect to do raw sockets on your cell phone or TV set top box, or spy and spoof someone's network using an applet.

The FAQ for one such library hints what kind of a mess raw sockets are due to differences in common operating systems; see http://www.savarese.com/software/rocksaw/
At least to some extent the windows API didn't support raw access when java first came out.

So lowest common denominator would be a more likely explanation.
1 - 5
Locked Post
New comments cannot be posted to this locked post.

Post Details

Locked on May 31 2013
Added on Apr 19 2013
5 comments
12,878 views