Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsFree MagazinesWhite PapersSubmit Content
Discussion GroupsASP.NETWindows FormsLanguages.NET FrameworkVisual Studio.NET
Articles.NET FrameworkASP.NETToolsWindows Forms
.NET DirectoryOpen Source ProjectsUser GroupsWeb Resources
Related Topics
Visual Basic 6SQL ServerMS AccessOther DB ProductsMS Server ProductsMore Topics ...

.NET Forum / ASP.NET / General / December 2007

Tip: Looking for answers? Try searching our database.

this.Connection.Close(); does not close the Oracle session! Please     help!

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
S_K - 06 Dec 2007 21:41 GMT
Hi all!

I'm writing an ASP.NET web application that uses an Oracle database.

I OPEN the Oracle connection by using the following code:

if (this.ConnectionString != "")
{
  this.Connection = new OracleConnection(this.ConnectionString);
  this.Connection.Open();
  return;
}

I then create the command object by using the following:

OracleCommand DBCmd = new
OracleCommand("PRL_STORE_PAYMENT_REQ_PKG.GET_PAYMENT_REQ_LOOKUP",
objConnect.Connection);
       DBCmd.CommandType = System.Data.CommandType.StoredProcedure;

I then I run the OracleCommand.ExecuteReader method to execute the
stored procedure.

I then CLOSE the connection by using the
this.Connection.Close(); command.

However, the sessions stay active!!!
I have a very angry DBA on my tail about this one!
Please help!

Thanks
Steve
Scott Roberts - 06 Dec 2007 21:52 GMT
I'm pretty sure "OracleConnection" is not a standard Framework class. You'll
probably have better luck asking the component vendor (or in their forums).
My guess is that it has to do with connection pooling. Do the number of
connections grow endlessly, or are they reused over and over? If it's the
later, then you should actually have a very happy DBA.

Scott

> Hi all!
>
[quoted text clipped - 28 lines]
> Thanks
> Steve
Russell - 07 Dec 2007 14:07 GMT
OracleConnection is in the System.Data.OracleClient namespace.

Although Oracle also provides such a class, in their
Oracle.DataAccess.Client namespace.

If the connection pool advice doesn't work out, try also calling
Dispose on the connection.  Unless the issue has been resolved in a
recent version, there's a flaw in the Framework class that
necessitates this.  And it can't hurt in any event.

On Dec 6, 4:52 pm, "Scott Roberts" <srobe...@no.spam.here-webworks-
software.com> wrote:
> I'm pretty sure "OracleConnection" is not a standard Framework class. You'll
> probably have better luck asking the component vendor (or in their forums).
[quoted text clipped - 38 lines]
>
> - Show quoted text -
sloan - 06 Dec 2007 22:00 GMT
Did you close the reader?

if(null!=reader)
{
   reader.Close();
}

???

A reader is a live firehouse....thus you use it, then you tidy up.
You can't get reader, close the connection , then use the reader.  That
doesn't make sense.

Use the reader as quickly as possible, then close it.

> Hi all!
>
[quoted text clipped - 28 lines]
> Thanks
> Steve
bruce barker - 06 Dec 2007 22:13 GMT
you will need to turn connection pooling off (see your connect string
properties). with pooling on, connection.close only returns the connection to
the pool, it does not close it. you may make your dba happy by lowing the
pool timeout.

-- bruce (sqlwork.com)

> Hi all!
>
[quoted text clipped - 28 lines]
> Thanks
> Steve
S_K - 06 Dec 2007 22:48 GMT
On Dec 6, 3:13 pm, bruce barker
<brucebar...@discussions.microsoft.com> wrote:
> you will need to turn connection pooling off (see your connect string
> properties). with pooling on, connection.close only returns the connection to
[quoted text clipped - 37 lines]
>
> - Show quoted text -

I don't actually CLOSE the reader but I DO Dispose the reader:
   reader.Dispose();

Doesn't that close the reader as well???

Also, how do you turn off the connection pooling in the connection
string? All I have is the basic connection string.

Thanks for your quick replies.

Steve
bruce barker - 06 Dec 2007 23:28 GMT
no, dispose will return it to the pool if pooling is enabled (all dispose
does is call close if needed).

you will need the connection string settings docs for the driver you are
using..

-- bruce (sqlwork.com)

> On Dec 6, 3:13 pm, bruce barker
> <brucebar...@discussions.microsoft.com> wrote:
[quoted text clipped - 51 lines]
>
> Steve

Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.