[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

microsoft.public.dotnet.framework.odbcnet

Why is Oracle Managed Provider is SLOWER than ODBC.NET? (See the included procedures.)

John T

11/23/2002 10:49:00 PM

I have the following 2 procedures the return a DataTable. The
first one uses ODBC.NET and takes 5 seconds for a table that has
13,000 records. The second procedure uses Oracle Managed Client and
takes 20 seconds. I also have one that uses OleDB and takes 16
seconds.
I thought Oracle Managed Client will be the fastest of all.
According to my test ODBC.NET is the fastest, OleDB is second and
Oracle Managed Provider is the slowest.
My question is if ODBC.NET is the fastest, what is the
disadvantage of using it over Oracle Managed Provider?

Thanks.

Public Function ODBCDataTable(ByVal SQL As String, ByVal ConnStr As _
String) As DataTable
Dim cn As OdbcConnection
Dim dsTemp As DataSet
Dim dsCmd As OdbcDataAdapter

cn = New OdbcConnection(ConnStr)
cn.Open()

dsCmd = New OdbcDataAdapter(SQL, cn)
dsTemp = New DataSet()
dsCmd.Fill(dsTemp, "myQuery")

cn.Close()
Return dsTemp.Tables(0)
End Function


Public Function OraDataTable(ByVal SQL As String, ByVal ConnStr As _
String) As DataTable
Dim cn As OracleConnection
Dim dsTemp As DataSet
Dim dsCmd As OracleDataAdapter

cn = New OracleConnection(ConnStr)
cn.Open()

dsCmd = New OracleDataAdapter(SQL, cn)
dsTemp = New DataSet()
dsCmd.Fill(dsTemp, "myQuery")

cn.Close()
Return dsTemp.Tables(0)
End Function

1 Answer

Max Chernyshov

1/8/2003 9:14:00 PM

0

I found that Oracle Provider do not work properly with the
Oracle client 8.1.5. 8.1.6 and 8.1.7 are fine.

I didn't find that it slower either, is probably because of different
connection pooling settings on those.

BTW on 50+ parallel connections Oracle provider was more stable,
and ODBC one just hang once connection pool is full and exception is
thrown....



"JT" <JohnT000050@hotmail.com> wrote in message
news:78nvtu0i0gh6hi3kg2h7s3il7vfv5gf1be@4ax.com...
> I have the following 2 procedures the return a DataTable. The
> first one uses ODBC.NET and takes 5 seconds for a table that has
> 13,000 records. The second procedure uses Oracle Managed Client and
> takes 20 seconds. I also have one that uses OleDB and takes 16
> seconds.
> I thought Oracle Managed Client will be the fastest of all.
> According to my test ODBC.NET is the fastest, OleDB is second and
> Oracle Managed Provider is the slowest.
> My question is if ODBC.NET is the fastest, what is the
> disadvantage of using it over Oracle Managed Provider?
>
> Thanks.
>
> Public Function ODBCDataTable(ByVal SQL As String, ByVal ConnStr As _
> String) As DataTable
> Dim cn As OdbcConnection
> Dim dsTemp As DataSet
> Dim dsCmd As OdbcDataAdapter
>
> cn = New OdbcConnection(ConnStr)
> cn.Open()
>
> dsCmd = New OdbcDataAdapter(SQL, cn)
> dsTemp = New DataSet()
> dsCmd.Fill(dsTemp, "myQuery")
>
> cn.Close()
> Return dsTemp.Tables(0)
> End Function
>
>
> Public Function OraDataTable(ByVal SQL As String, ByVal ConnStr As _
> String) As DataTable
> Dim cn As OracleConnection
> Dim dsTemp As DataSet
> Dim dsCmd As OracleDataAdapter
>
> cn = New OracleConnection(ConnStr)
> cn.Open()
>
> dsCmd = New OracleDataAdapter(SQL, cn)
> dsTemp = New DataSet()
> dsCmd.Fill(dsTemp, "myQuery")
>
> cn.Close()
> Return dsTemp.Tables(0)
> End Function
>