public static void DataReaderTest() { PFSQLServer sqlserv = new PFSQLServer(); string connectionString = string.Empty; Stopwatch sw = new Stopwatch(); try { sqlserv.ServerName = _frm.txtServerName.Text; sqlserv.DatabaseName = _frm.txtDatabaseName.Text; sqlserv.UseIntegratedSecurity = _frm.chkUseIntegratedSecurity.Checked; sqlserv.AsynchronousProcessing = _frm.chkUseAsyncProcessing.Checked; sqlserv.ApplicationName = _frm.txtApplicationName.Text; sqlserv.WorkstationId = _frm.txtWorkstationId.Text; sqlserv.Username = _frm.txtUsername.Text; sqlserv.Password = _frm.txtPassword.Text; connectionString = sqlserv.ConnectionString; _msg.Length = 0; _msg.Append("Connection string is: \r\n"); _msg.Append(connectionString); Program._messageLog.WriteLine(_msg.ToString()); if (_frm.txtSQLQuery.Text.Length == 0) { throw new System.Exception("You must specify a SQL query to run."); } sw.Start(); sqlserv.OpenConnection(); sqlserv.SQLQuery = _frm.txtSQLQuery.Text; if (_frm.chkIsStoredProcedure.Checked) { sqlserv.CommandType = CommandType.StoredProcedure; } else { sqlserv.CommandType = CommandType.Text; } sw.Stop(); _msg.Length = 0; _msg.Append("Open connection time: "); _msg.Append(sw.FormattedElapsedTime); Program._messageLog.WriteLine(_msg.ToString()); Program._messageLog.WriteLine("\r\nRunning data extract tests ...\r\n"); sqlserv.returnResultAsString += new PFSQLServer.ResultAsStringDelegate(OutputResultsToFile); if (_textFile.FileIsOpen) { _textFile.CloseFile(); } _textFile.OpenFile(@"c:\temp\ReaderDelimitedTestExtract.txt", PFFileOpenOperation.OpenFileForWrite); sw.Start(); SqlDataReader rdr = (SqlDataReader)sqlserv.RunQueryDataReader(); sqlserv.ExtractDelimitedDataFromDataReader(rdr, ",", "\r\n", true); sw.Stop(); _msg.Length = 0; _msg.Append("Extract Delimiated Dataset time: "); _msg.Append(sw.FormattedElapsedTime); Program._messageLog.WriteLine(_msg.ToString()); if (_textFile.FileIsOpen) { _textFile.CloseFile(); } _textFile.OpenFile(@"c:\temp\ReaderFixedLengthTestExtract.txt", PFFileOpenOperation.OpenFileForWrite); rdr.Close(); sw.Start(); rdr = (SqlDataReader)sqlserv.RunQueryDataReader(); sqlserv.ExtractFixedLengthDataFromDataReader(rdr, true, true, false); sw.Stop(); _msg.Length = 0; _msg.Append("Extract Fixed Length Dataset time: "); _msg.Append(sw.FormattedElapsedTime); Program._messageLog.WriteLine(_msg.ToString()); if (_textFile.FileIsOpen) { _textFile.CloseFile(); } rdr.Close(); rdr = (SqlDataReader)sqlserv.RunQueryDataReader(); sqlserv.SaveDataReaderToXmlFile(rdr, @"c:\temp\Testrdr.xml"); rdr.Close(); rdr = (SqlDataReader)sqlserv.RunQueryDataReader(); sqlserv.SaveDataReaderWithSchemaToXmlFile(rdr, @"c:\temp\Testrdrplus.xml"); rdr.Close(); rdr = (SqlDataReader)sqlserv.RunQueryDataReader(); sqlserv.SaveDataReaderToXmlSchemaFile(rdr, @"c:\temp\Testrdr.xsd"); rdr.Close(); rdr = (SqlDataReader)sqlserv.RunQueryDataReader(); PFDataProcessor dataProcessor = new PFDataProcessor(); XmlDocument xmlDoc = dataProcessor.CopyDataTableToXmlDocument(sqlserv.ConvertDataReaderToDataTable(rdr)); Program._messageLog.WriteLine("\r\n" + xmlDoc.OuterXml + "\r\n"); rdr.Close(); } catch (System.Exception ex) { _frm.OutputErrorMessageToLog(ex); } finally { sqlserv.CloseConnection(); sqlserv = null; } }