L
LR
I am putting data into Excel from a SQL 2000 DB (Not MSDE) via a
SqlDataReader
(ADO.NET/VB.NET) My dr calls a stored procedure on the SQL server.
When I run this sproc in query analyser, it returns the results within 2
seconds.
When using the sqldatareader, the same sproc takes 30 to 40 seconds to run
from the same PC
that was running QA. Any suggestions?
Relevant code is below:
' Excel code here
Dim SqlConn1 As SqlConnection = New SqlConnection("workstation id=MyWS;user
id=xxxx;pwd=xxxx;data sourc" & _
"e=""MySQLServer"";persist security info=False;initial catalog=MyDB")
'
Dim TestConn As SqlCommand = New SqlCommand("dbo.MySproc")
TestConn.CommandType = CommandType.StoredProcedure
TestConn.Connection = SqlConn1
TestConn.Parameters.Add(New
System.Data.SqlClient.SqlParameter("@RETURN_VALUE",
System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue,
False, CType(0, Byte), CType(0, Byte), "",
System.Data.DataRowVersion.Current, Nothing))
TestConn.Parameters.Add(New System.Data.SqlClient.SqlParameter("@DT_START",
System.Data.SqlDbType.DateTime, 8)).Value = dtstart2.Value.Date
TestConn.Parameters.Add(New System.Data.SqlClient.SqlParameter("@DT_STOP",
System.Data.SqlDbType.DateTime, 8)).Value = dtend2.Value.Date
Dim Reader As SqlClient.SqlDataReader
SqlConn1.Open()
Reader = TestConn.ExecuteReader()
Dim i, j As Integer
i = 3
While Reader.Read
i = i + 1
For j = 0 To 14
excelWorksheet.Cells(i, j + 1) = Reader(j).ToString()
Next j
End While
Reader.Close()
SqlConn1.Close()
' more excel code here
SqlDataReader
(ADO.NET/VB.NET) My dr calls a stored procedure on the SQL server.
When I run this sproc in query analyser, it returns the results within 2
seconds.
When using the sqldatareader, the same sproc takes 30 to 40 seconds to run
from the same PC
that was running QA. Any suggestions?
Relevant code is below:
' Excel code here
Dim SqlConn1 As SqlConnection = New SqlConnection("workstation id=MyWS;user
id=xxxx;pwd=xxxx;data sourc" & _
"e=""MySQLServer"";persist security info=False;initial catalog=MyDB")
'
Dim TestConn As SqlCommand = New SqlCommand("dbo.MySproc")
TestConn.CommandType = CommandType.StoredProcedure
TestConn.Connection = SqlConn1
TestConn.Parameters.Add(New
System.Data.SqlClient.SqlParameter("@RETURN_VALUE",
System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue,
False, CType(0, Byte), CType(0, Byte), "",
System.Data.DataRowVersion.Current, Nothing))
TestConn.Parameters.Add(New System.Data.SqlClient.SqlParameter("@DT_START",
System.Data.SqlDbType.DateTime, 8)).Value = dtstart2.Value.Date
TestConn.Parameters.Add(New System.Data.SqlClient.SqlParameter("@DT_STOP",
System.Data.SqlDbType.DateTime, 8)).Value = dtend2.Value.Date
Dim Reader As SqlClient.SqlDataReader
SqlConn1.Open()
Reader = TestConn.ExecuteReader()
Dim i, j As Integer
i = 3
While Reader.Read
i = i + 1
For j = 0 To 14
excelWorksheet.Cells(i, j + 1) = Reader(j).ToString()
Next j
End While
Reader.Close()
SqlConn1.Close()
' more excel code here