lnSec = Seconds() *lcXml = loStr.ReadText() && very slow! lcFile = "c:\test.xml" loStr.SaveToFile(lcFile) lcXml = FileToStr(lcFile) ?'String: ', Seconds() - lnSecWhen I tried the .SaveToFile() method in ADODB.Stream, it takes about 6 to 7 seconds to write the file in my situation, which is acceptable but slower than my new CASE #1 in message #765918.
>>Local lnMethod As Number >>Local lcSql As String >>Local lcXml As String >>Local loConn As ADODB.Connection >>Local loRs As ADODB.Recordset >>Local loCmd As ADODB.Command >>Local loStr As ADODB.Stream >> >>lnMethod = 3 >>lcXml = '' >>lcSql = "<large query>" >>loConn = CreateObject('ADODB.Connection') >>loRs = CreateObject('ADODB.Recordset') >>loCmd = CreateObject('ADODB.Command') >>loStr = CreateObject('ADODB.Stream') >> >>?'Method: ', lnMethod >>DO Case >> Case lnMethod = 1 && our first method >> loConn.Open('DSN=;UID=;PWD=') >> With loRs >> .ActiveConnection = loConn >> .CursorLocation = 3 && adUseClient >> .CursorType = 0 && adOpenForwardOnly >> .LockType = 1 && adLockReadOnly >> >> lnSec = Seconds() >> .Open(lcSql) >> ?'Execute: ', Seconds() - lnSec >> >> lnSec = Seconds() >> Do While !.Eof >> lcXml = lcXml + .Fields(0).Value >> .MoveNext() >> EndDo >> ?'String: ', Seconds() - lnSec >> EndWith >> >> Case lnMethod = 2 >> loConn.Open('DSN=;UID=;PWD=') >> With loRs >> .ActiveConnection = loConn >> .CursorLocation = 3 && adUseClient >> .CursorType = 0 && adOpenForwardOnly >> .LockType = 1 && adLockReadOnly >> >> lnSec = Seconds() >> loRs.Open(lcSql) >> ?'Execute: ', Seconds() - lnSec >> >> lnSec = Seconds() >> lcXml = .GetString() >> ?'String: ', Seconds() - lnSec >> EndWith >> >> Case lnMethod = 3 >> loConn.Open('PROVIDER=SQLOLEDB.1;DATA SOURCE=;DATABASE=;UID=;PWD=') >> loStr.Open() >> With loCmd >> .ActiveConnection = loConn >> .CommandText = lcSql >> .Properties("Output Stream") = loStr >> >> lnSec = Seconds() >> .Execute(,,1024) >> ?'Execute: ', Seconds() - lnSec >> EndWith >> lnSec = Seconds() >> lcXml = loStr.ReadText() >> ?'String: ', Seconds() - lnSec >> >>EndCase >>?'' >>