G
Guest
We are experiencing a problem in using the Microsoft .Net Data Provider Fo
Oracle. For certain more complex SQL queries it does not return the correc
number of rows. The behaviour can take two forms
1 the DataReader returns no rows back to the calling program, on th
database one fetch has been done and a fraction of the expected rows ha
been processed
2 The reader returns rows but the amount of rows is less than total returne
if the SQL is run directly, on the database a number of fetches have bee
done
In both cases the SQL is valid and can be executed from SQL+, so I am happ
that there is not a problem with the data itself or the database
We tried this provider as we wanted to stay with the Oracle 8.1.7 client. W
are currently deploying on .Net 1.0 Framework using MDAC 2.7
Has anyone else had any problems with this data provider
Example SQL that does wor
SELECT B.F01_143,A.F00_025,A.F00_026 FROM SEG_01 B, SEG_00 A WHERE A.F00_00
= B.F01_14
Example SQL that doesn't wor
SELECT B.F01_143,A.F00_025,A.F00_026 FROM SEG_01 B, SEG_00 A WHERE A.F00_00
= B.F01_145 AND ( ( 1 = ( SELECT COUNT( F00_030 ) FROM SEG_01 B1, SEG_00 A
WHERE A1.F00_002 = B1.F01_145 AND B1.F01_003 = B.F01_003 GROUP B
B1.F01_003) )
Example Code showing basic connection object
Imports SDO = system.Data.OracleClien
mConnection = New SDO.OracleConnection(mConnectionString
mySQL = TextBox1.Tex
mConnection.Open(
mCommand = New SDO.OracleCommand(mySQL, mConnection
mCommand.CommandType = CommandType.Tex
Dim startTime As Date = No
aRdr = mCommand.ExecuteReader(
While aRdr.Rea
PrintLine(theFile, aRdr.Item(0).ToString
linecount +=
If linecount > limit The
Exit Whil
End I
End Whil
aRdr.Close(
Dim stopTime As Date = No
Label2.Text = Now.ToLocalTime + " It took "
CStr(DifferenceInSeconds) + " seconds and returned " + CStr(linecount)
"rows
mConnection.Close(
Oracle. For certain more complex SQL queries it does not return the correc
number of rows. The behaviour can take two forms
1 the DataReader returns no rows back to the calling program, on th
database one fetch has been done and a fraction of the expected rows ha
been processed
2 The reader returns rows but the amount of rows is less than total returne
if the SQL is run directly, on the database a number of fetches have bee
done
In both cases the SQL is valid and can be executed from SQL+, so I am happ
that there is not a problem with the data itself or the database
We tried this provider as we wanted to stay with the Oracle 8.1.7 client. W
are currently deploying on .Net 1.0 Framework using MDAC 2.7
Has anyone else had any problems with this data provider
Example SQL that does wor
SELECT B.F01_143,A.F00_025,A.F00_026 FROM SEG_01 B, SEG_00 A WHERE A.F00_00
= B.F01_14
Example SQL that doesn't wor
SELECT B.F01_143,A.F00_025,A.F00_026 FROM SEG_01 B, SEG_00 A WHERE A.F00_00
= B.F01_145 AND ( ( 1 = ( SELECT COUNT( F00_030 ) FROM SEG_01 B1, SEG_00 A
WHERE A1.F00_002 = B1.F01_145 AND B1.F01_003 = B.F01_003 GROUP B
B1.F01_003) )
Example Code showing basic connection object
Imports SDO = system.Data.OracleClien
mConnection = New SDO.OracleConnection(mConnectionString
mySQL = TextBox1.Tex
mConnection.Open(
mCommand = New SDO.OracleCommand(mySQL, mConnection
mCommand.CommandType = CommandType.Tex
Dim startTime As Date = No
aRdr = mCommand.ExecuteReader(
While aRdr.Rea
PrintLine(theFile, aRdr.Item(0).ToString
linecount +=
If linecount > limit The
Exit Whil
End I
End Whil
aRdr.Close(
Dim stopTime As Date = No
Label2.Text = Now.ToLocalTime + " It took "
CStr(DifferenceInSeconds) + " seconds and returned " + CStr(linecount)
"rows
mConnection.Close(