<div id="jive-html-wrapper-div"> <br /> <DIV><FONT face="Arial" size="2">I have included a code stub below. When this <br /> executes, I sometimes (reproducibly) get this error:</FONT></DIV> <DIV><FONT face="Arial" size="2"><FONT size="2"></FONT></FONT> </DIV> <DIV><FONT face="Arial" size="2"><FONT size="2">"not enough storage is available to <br /> complete this operation"</DIV></FONT></FONT> <DIV><FONT face="Arial" size="2"></FONT> </DIV> <DIV><FONT face="Arial" size="2"> <DIV><FONT face="Arial" size="2">Anyone have ANY idea why it would EVER fail? <br /> Also, it seems to fail BEFORE the sql is actually sent to sql server. I <br /> put a trace in the microsoft sql profiler, and, if I did it right, it didn't <br /> show ANYTHING going to the server. It seems like it is somehow screwed up <br /> for the handling of the parameters. If I completely remove the parameters <br /> and just build the string dynamically, it works just fine. I also tried <br /> making sure all the parameter properties were set manually after setting <br /> the commandtext, but that didn't make any difference either. I also <br /> tried adding a Parameters.Clear before the assignment of the commandtext. <br /> No joy! At debug time, the sql looks okay and the <br /> parameters look okay, but when the Execute happens, the error <br /> occurs.</FONT></DIV> <DIV><FONT face="Arial" size="2"></FONT> </DIV> <DIV><FONT face="Arial" size="2">Again, any ideas? I am at a loss and <br /> want to understand what is happening here. </FONT></DIV></FONT></DIV> <DIV><FONT face="Arial" size="2"></FONT> </DIV> <DIV><FONT face="Courier New" size="2"> with StandardsFrame.ADOCommand do <br /> begin<BR> ExecuteOptions := <br /> [eoExecuteNoRecords];<BR> CommandText <br /> :=<BR> 'update ' <br /> +<BR> <br /> 'WorkOrderInstrumentXref ' +<BR> 'set <br /> ' +<BR> <br /> 'Temperature <br /> = a.Temperature, <br /> ' <br /> +<BR> <br /> 'Humidity <br /> = a.Humidity, <br /> ' <br /> +<BR> <br /> 'Altitude <br /> = a.Altitude, <br /> ' <br /> +<BR> <br /> 'Pressure <br /> = a.Pressure, <br /> ' <br /> +<BR> <br /> 'Inst_Det_Number = <br /> a.Inst_Det_Number, ' <br /> +<BR> <br /> 'Det_Sensitivity = <br /> a.Det_Sensitivity, ' <br /> +<BR> <br /> 'Det_Operating_Voltage = a.Det_Operating_Voltage, <br /> ' <br /> +<BR> <br /> 'Det_Threshold = <br /> a.Det_Threshold, <br /> ' <br /> +<BR> <br /> 'WindowMeasure = <br /> a.WindowMeasure, <br /> ' <br /> +<BR> <br /> 'Rate_Alarm <br /> = a.Rate_Alarm, <br /> ' <br /> +<BR> <br /> 'Scal_Alarm <br /> = a.Scal_Alarm, <br /> ' <br /> +<BR> <br /> 'Dose_Alarm <br /> = a.Dose_Alarm, <br /> ' <br /> +<BR> <br /> 'FS_Response <br /> = a.FS_Response, <br /> ' <br /> +<BR> <br /> 'Reset <br /> = a.Reset, <br /> ' <br /> +<BR> <br /> 'Audio <br /> = a.Audio, <br /> ' <br /> +<BR> <br /> 'Meter_Zero <br /> = a.Meter_Zero, <br /> ' <br /> +<BR> <br /> 'Window_Status = <br /> a.Window_Status, <br /> ' <br /> +<BR> <br /> 'Bgd_Subtract <br /> = a.Bgd_Subtract, <br /> ' <br /> +<BR> <br /> 'Alarm_Set <br /> = a.Alarm_Set, <br /> ' <br /> +<BR> <br /> 'Mechanical_Chk = <br /> a.Mechanical_Chk, <br /> ' <br /> +<BR> <br /> 'Battery_Chk <br /> = a.Battery_Chk, <br /> ' <br /> +<BR> <br /> 'Min_Voltage <br /> = a.Min_Voltage, <br /> ' <br /> +<BR> <br /> 'Linearity <br /> = a.Linearity, <br /> ' <br /> +<BR> <br /> 'HV_Readout <br /> = a.HV_Readout, <br /> ' <br /> +<BR> <br /> 'HV_RefVoltage_1 = <br /> a.HV_RefVoltage_1, ' <br /> +<BR> <br /> 'HV_RefVoltage_2 = <br /> a.HV_RefVoltage_2, ' <br /> +<BR> <br /> 'HV_InstVoltage_1 = <br /> a.HV_InstVoltage_1, ' <br /> +<BR> <br /> 'HV_InstVoltage_2 = <br /> a.HV_InstVoltage_2, ' <br /> +<BR> <br /> 'Inst_Voltage <br /> = a.Inst_Voltage, <br /> ' <br /> +<BR> <br /> 'Inst_Input_Sens = <br /> a.Inst_Input_Sens, ' <br /> +<BR> <br /> 'Rate_Alert <br /> = a.Rate_Alert, <br /> ' <br /> +<BR> <br /> 'Scal_Alert <br /> = a.Scal_Alert, <br /> ' <br /> +<BR> <br /> 'Dose_Alert <br /> = a.Dose_Alert, <br /> ' <br /> +<BR> <br /> 'TemperatureEnglishUnits = a.TemperatureEnglishUnits, ' <br /> +<BR> <br /> 'PressureEnglishUnits = a.PressureEnglishUnits, <br /> ' <br /> +<BR> <br /> 'AltitudeEnglishUnits = a.AltitudeEnglishUnits, <br /> ' <br /> +<BR> <br /> 'Cal_Const <br /> = a.Cal_Const, <br /> ' <br /> +<BR> <br /> 'Dead_Time <br /> = a.Dead_Time <br /> ' <br /> +<BR> 'from ' <br /> +<BR> '( select ' <br /> +<BR> <br /> 'top 1 x.* ' <br /> +<BR> <br /> 'from ' <br /> +<BR> <br /> 'WorkOrderInstrumentXref x, ' <br /> +<BR> <br /> 'WorkOrders wo ' <br /> +<BR> <br /> 'where ' <br /> +<BR> <br /> 'x.CustomerInstrumentID = :CustomerInstrumentID and ' <br /> +<BR> <br /> 'x.CustomerDetectorID = :CustomerDetectorID and ' <br /> +<BR> <br /> 'wo.WorkOrderID = <br /> x.WorkOrderID and ' <br /> +<BR> <br /> 'wo.State <br /> = <br /> 5 <br /> and ' <br /> +<BR> <br /> 'x.WorkOrderInstID <> ' + inttostr( <br /> NewRecordID ) + ' ' <br /> +<BR> <br /> 'order by ' <br /> +<BR> <br /> 'x.WorkOrderID desc ) a ' +<BR> 'where <br /> ' +<BR> <br /> 'WorkOrderInstrumentXref.WorkOrderInstID = :WorkOrderInstID ';</FONT></DIV> <DIV><FONT face="Courier New" size="2"></FONT> </DIV> <DIV><FONT face="Courier New" size="2"> <br /> Parameters.ParamByName( 'WorkOrderInstID' ).Value <br /> := NewRecordID;<BR> Parameters.ParamByName( <br /> 'CustomerInstrumentID' ).Value := <br /> WorkOrderInstrumentsEditFrame.WorkOrderInstrumentsCustomerInstrumentID.Value;<BR> <br /> Parameters.ParamByName( 'CustomerDetectorID' ).Value := <br /> WorkOrderDetectorsEditFrame.WorkOrderDetectorsCustomerDetectorID.Value;<BR> <br /> Execute;<BR> end;<BR></FONT></DIV> </div>
![]() |
0 |
![]() |
<div id="jive-html-wrapper-div"> <br /> <DIV><FONT face="Arial" size="2">Yikes! Sorry for the wrapping when <br /> posting. Don't know what caused that either <img class="jive-emoticon" border="0" src="images/emoticons/sad.gif" alt=":-("></FONT></DIV> <BLOCKQUOTE dir="ltr" style="PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px"> <DIV><FONT face="Courier New" size="2"></FONT> </DIV></BLOCKQUOTE> </div>
![]() |
0 |
![]() |
<div id="jive-html-wrapper-div"> <br /> <DIV><FONT face="Courier New" size="2">Yikes! Don't know what caused the <br /> wrapping of the code either <img class="jive-emoticon" border="0" src="images/emoticons/sad.gif" alt=":-("></FONT></DIV> </div>
![]() |
0 |
![]() |
Yikes! Don't know what caused the code to wrap either :-(
![]() |
0 |
![]() |
<div id="jive-html-wrapper-div"> <br /> <DIV><FONT face="Arial" size="2">Second attempt at showing the code (hopefully <br /> without extra line breaks)</FONT></DIV> <DIV><FONT face="Arial" size="2"></FONT> </DIV> <DIV><FONT face="Arial" size="2"><FONT face="Courier"> with <br /> StandardsFrame.ADOCommand do begin<BR> ExecuteOptions := <br /> [eoExecuteNoRecords];<BR> CommandText <br /> :=<BR> 'update ' <br /> +<BR> <br /> 'WorkOrderInstrumentXref ' +<BR> 'set <br /> ' <br /> +<BR> <br /> 'Temperature <br /> = a.Temperature, <br /> ' <br /> +<BR> <br /> 'Humidity <br /> = a.Humidity, <br /> ' <br /> +<BR> <br /> 'Altitude <br /> = a.Altitude, <br /> ' <br /> +<BR> <br /> 'Pressure <br /> = a.Pressure, <br /> ' <br /> +<BR> <br /> 'Inst_Det_Number = <br /> a.Inst_Det_Number, ' <br /> +<BR> <br /> 'Det_Sensitivity = <br /> a.Det_Sensitivity, ' <br /> +<BR> <br /> 'Det_Operating_Voltage = a.Det_Operating_Voltage, <br /> ' <br /> +<BR> <br /> 'Det_Threshold = <br /> a.Det_Threshold, <br /> ' <br /> +<BR> <br /> 'WindowMeasure = <br /> a.WindowMeasure, <br /> ' <br /> +<BR> <br /> 'Rate_Alarm <br /> = a.Rate_Alarm, <br /> ' <br /> +<BR> <br /> 'Scal_Alarm <br /> = a.Scal_Alarm, <br /> ' <br /> +<BR> <br /> 'Dose_Alarm <br /> = a.Dose_Alarm, <br /> ' <br /> +<BR> <br /> 'FS_Response <br /> = a.FS_Response, <br /> ' <br /> +<BR> <br /> 'Reset <br /> = a.Reset, <br /> ' <br /> +<BR> <br /> 'Audio <br /> = a.Audio, <br /> ' <br /> +<BR> <br /> 'Meter_Zero <br /> = a.Meter_Zero, <br /> ' <br /> +<BR> <br /> 'Window_Status = <br /> a.Window_Status, <br /> ' <br /> +<BR> <br /> 'Bgd_Subtract <br /> = a.Bgd_Subtract, <br /> ' <br /> +<BR> <br /> 'Alarm_Set <br /> = a.Alarm_Set, <br /> ' <br /> +<BR> <br /> 'Mechanical_Chk = <br /> a.Mechanical_Chk, <br /> ' <br /> +<BR> <br /> 'Battery_Chk <br /> = a.Battery_Chk, <br /> ' <br /> +<BR> <br /> 'Min_Voltage <br /> = a.Min_Voltage, <br /> ' <br /> +<BR> <br /> 'Linearity <br /> = a.Linearity, <br /> ' <br /> +<BR> <br /> 'HV_Readout <br /> = a.HV_Readout, <br /> ' <br /> +<BR> <br /> 'HV_RefVoltage_1 = <br /> a.HV_RefVoltage_1, ' <br /> +<BR> <br /> 'HV_RefVoltage_2 = <br /> a.HV_RefVoltage_2, ' <br /> +<BR> <br /> 'HV_InstVoltage_1 = <br /> a.HV_InstVoltage_1, ' <br /> +<BR> <br /> 'HV_InstVoltage_2 = <br /> a.HV_InstVoltage_2, ' <br /> +<BR> <br /> 'Inst_Voltage <br /> = a.Inst_Voltage, <br /> ' <br /> +<BR> <br /> 'Inst_Input_Sens = <br /> a.Inst_Input_Sens, ' <br /> +<BR> <br /> 'Rate_Alert <br /> = a.Rate_Alert, <br /> ' <br /> +</FONT><BR><FONT face="Courier"> <br /> 'Scal_Alert <br /> = a.Scal_Alert, <br /> ' <br /> +<BR> <br /> 'Dose_Alert <br /> = a.Dose_Alert, <br /> ' <br /> +<BR> <br /> 'TemperatureEnglishUnits = a.TemperatureEnglishUnits, ' <br /> +<BR> <br /> 'PressureEnglishUnits = a.PressureEnglishUnits, <br /> ' <br /> +<BR> <br /> 'AltitudeEnglishUnits = a.AltitudeEnglishUnits, <br /> ' <br /> +<BR> <br /> 'Cal_Const <br /> = a.Cal_Const, <br /> ' <br /> +<BR> <br /> 'Dead_Time <br /> = a.Dead_Time <br /> ' <br /> +<BR> <br /> 'from ' <br /> +<BR> <br /> '( select ' <br /> +<BR> <br /> 'top 1 x.* ' <br /> +<BR> <br /> 'from ' <br /> +<BR> <br /> 'WorkOrderInstrumentXref x, ' <br /> +<BR> <br /> 'WorkOrders wo ' <br /> +<BR> <br /> 'where ' <br /> +<BR> <br /> 'WorkOrderInstrumentXref.WorkOrderInstID = :WorkOrderInstID <br /> ';<BR> Parameters.ParamByName( 'WorkOrderInstID' <br /> ).Value := <br /> NewRecordID;<BR> Parameters.ParamByName( <br /> 'CustomerInstrumentID' ).Value := <br /> WorkOrderInstrumentsEditFrame.WorkOrderInstrumentsCustomerInstrumentID.Value;<BR> <br /> Parameters.ParamByName( 'CustomerDetectorID' ).Value := <br /> WorkOrderDetectorsEditFrame.WorkOrderDetectorsCustomerDetectorID.Value;<BR> <br /> Execute;<BR> end;<BR></FONT></FONT></DIV> <BLOCKQUOTE dir="ltr" style="PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px"> <DIV id="jive-html-wrapper-div"> <DIV><FONT face="Courier New" size="2"></FONT></DIV></DIV></BLOCKQUOTE> </div>
![]() |
0 |
![]() |
Second attempt at showing the code (hopefully without extra line breaks) (still doesn't line stuff up because of font?, but better than the html version...) with StandardsFrame.ADOCommand do begin ExecuteOptions := [eoExecuteNoRecords]; CommandText := 'update ' + 'WorkOrderInstrumentXref ' + 'set ' + 'Temperature = a.Temperature, ' + 'Humidity = a.Humidity, ' + 'Altitude = a.Altitude, ' + 'Pressure = a.Pressure, ' + 'Inst_Det_Number = a.Inst_Det_Number, ' + 'Det_Sensitivity = a.Det_Sensitivity, ' + 'Det_Operating_Voltage = a.Det_Operating_Voltage, ' + 'Det_Threshold = a.Det_Threshold, ' + 'WindowMeasure = a.WindowMeasure, ' + 'Rate_Alarm = a.Rate_Alarm, ' + 'Scal_Alarm = a.Scal_Alarm, ' + 'Dose_Alarm = a.Dose_Alarm, ' + 'FS_Response = a.FS_Response, ' + 'Reset = a.Reset, ' + 'Audio = a.Audio, ' + 'Meter_Zero = a.Meter_Zero, ' + 'Window_Status = a.Window_Status, ' + 'Bgd_Subtract = a.Bgd_Subtract, ' + 'Alarm_Set = a.Alarm_Set, ' + 'Mechanical_Chk = a.Mechanical_Chk, ' + 'Battery_Chk = a.Battery_Chk, ' + 'Min_Voltage = a.Min_Voltage, ' + 'Linearity = a.Linearity, ' + 'HV_Readout = a.HV_Readout, ' + 'HV_RefVoltage_1 = a.HV_RefVoltage_1, ' + 'HV_RefVoltage_2 = a.HV_RefVoltage_2, ' + 'HV_InstVoltage_1 = a.HV_InstVoltage_1, ' + 'HV_InstVoltage_2 = a.HV_InstVoltage_2, ' + 'Inst_Voltage = a.Inst_Voltage, ' + 'Inst_Input_Sens = a.Inst_Input_Sens, ' + 'Rate_Alert = a.Rate_Alert, ' + 'Scal_Alert = a.Scal_Alert, ' + 'Dose_Alert = a.Dose_Alert, ' + 'TemperatureEnglishUnits = a.TemperatureEnglishUnits, ' + 'PressureEnglishUnits = a.PressureEnglishUnits, ' + 'AltitudeEnglishUnits = a.AltitudeEnglishUnits, ' + 'Cal_Const = a.Cal_Const, ' + 'Dead_Time = a.Dead_Time ' + 'from ' + '( select ' + 'top 1 x.* ' + 'from ' + 'WorkOrderInstrumentXref x, ' + 'WorkOrders wo ' + 'where ' + 'WorkOrderInstrumentXref.WorkOrderInstID = :WorkOrderInstID '; Parameters.ParamByName( 'WorkOrderInstID' ).Value := NewRecordID; Parameters.ParamByName( 'CustomerInstrumentID' ).Value := WorkOrderInstrumentsEditFrame.WorkOrderInstrumentsCustomerInstrumentID.Value; Parameters.ParamByName( 'CustomerDetectorID' ).Value := WorkOrderDetectorsEditFrame.WorkOrderDetectorsCustomerDetectorID.Value; Execute; end;
![]() |
0 |
![]() |
Second attempt at showing the code (hopefully without extra line breaks) with StandardsFrame.ADOCommand do begin ExecuteOptions := [eoExecuteNoRecords]; CommandText := 'update ' + 'WorkOrderInstrumentXref ' + 'set ' + 'Temperature = a.Temperature, ' + 'Humidity = a.Humidity, ' + 'Altitude = a.Altitude, ' + 'Pressure = a.Pressure, ' + 'Inst_Det_Number = a.Inst_Det_Number, ' + 'Det_Sensitivity = a.Det_Sensitivity, ' + 'Det_Operating_Voltage = a.Det_Operating_Voltage, ' + 'Det_Threshold = a.Det_Threshold, ' + 'WindowMeasure = a.WindowMeasure, ' + 'Rate_Alarm = a.Rate_Alarm, ' + 'Scal_Alarm = a.Scal_Alarm, ' + 'Dose_Alarm = a.Dose_Alarm, ' + 'FS_Response = a.FS_Response, ' + 'Reset = a.Reset, ' + 'Audio = a.Audio, ' + 'Meter_Zero = a.Meter_Zero, ' + 'Window_Status = a.Window_Status, ' + 'Bgd_Subtract = a.Bgd_Subtract, ' + 'Alarm_Set = a.Alarm_Set, ' + 'Mechanical_Chk = a.Mechanical_Chk, ' + 'Battery_Chk = a.Battery_Chk, ' + 'Min_Voltage = a.Min_Voltage, ' + 'Linearity = a.Linearity, ' + 'HV_Readout = a.HV_Readout, ' + 'HV_RefVoltage_1 = a.HV_RefVoltage_1, ' + 'HV_RefVoltage_2 = a.HV_RefVoltage_2, ' + 'HV_InstVoltage_1 = a.HV_InstVoltage_1, ' + 'HV_InstVoltage_2 = a.HV_InstVoltage_2, ' + 'Inst_Voltage = a.Inst_Voltage, ' + 'Inst_Input_Sens = a.Inst_Input_Sens, ' + 'Rate_Alert = a.Rate_Alert, ' + 'Scal_Alert = a.Scal_Alert, ' + 'Dose_Alert = a.Dose_Alert, ' + 'TemperatureEnglishUnits = a.TemperatureEnglishUnits, '+ 'PressureEnglishUnits = a.PressureEnglishUnits, ' + 'AltitudeEnglishUnits = a.AltitudeEnglishUnits, ' + 'Cal_Const = a.Cal_Const, ' + 'Dead_Time = a.Dead_Time ' + 'from ' + '( select ' + 'top 1 x.* ' + 'from ' + 'WorkOrderInstrumentXref x, ' + 'WorkOrders wo ' + 'where ' + 'WorkOrderInstrumentXref.WorkOrderInstID = :WorkOrderInstID '; Parameters.ParamByName( 'WorkOrderInstID' ).Value := NewRecordID; Parameters.ParamByName( 'CustomerInstrumentID' ).Value := WorkOrderInstrumentsEditFrame.WorkOrderInstrumentsCustomerInstrumentID.Value; Parameters.ParamByName( 'CustomerDetectorID' ).Value := WorkOrderDetectorsEditFrame.WorkOrderDetectorsCustomerDetectorID.Value; Execute; end;
![]() |
0 |
![]() |
It smells like an issue with your ADO. Is the error reproducible on another machine? What version of Delphi are you using? What version of ADO? krf "Mark Tiede" <mtiede@mjwcorp.com> wrote in message news:12551@forums.codegear.com... I have included a code stub below. When this executes, I sometimes (reproducibly) get this error: "not enough storage is available to complete this operation" Anyone have ANY idea why it would EVER fail?
![]() |
0 |
![]() |
My guess is yhou have a problem on the disk where whatever database you are using stores data or uses for temporary space. I suggest you check the error messages your database can generate for more information on this error. > Also, it seems to fail BEFORE the sql is actually sent to sql server. I > put a trace in the microsoft sql profiler, and, if I did it right, it didn't > show ANYTHING going to the server. It seems like it is somehow screwed up > for the handling of the parameters. If I completely remove the parameters > and just build the string dynamically, it works just fine. I also tried > making sure all the parameter properties were set manually after setting > the commandtext, but that didn't make any difference either. I also > tried adding a Parameters.Clear before the assignment of the commandtext. > No joy! At debug time, the sql looks okay and the > parameters look okay, but when the Execute happens, the error > occurs.</FONT></DIV> > <DIV><FONT face=Arial size=2></FONT> </DIV> > <DIV><FONT face=Arial size=2>Again, any ideas? I am at a loss and > want to understand what is happening here. </FONT></DIV></FONT></DIV> > <DIV><FONT face=Arial size=2></FONT> </DIV> > <DIV><FONT face="Courier New" size=2> with StandardsFrame.ADOCommand do > begin<BR> ExecuteOptions := > [eoExecuteNoRecords];<BR> CommandText > :=<BR> 'update ' > +<BR> > 'WorkOrderInstrumentXref ' +<BR> 'set > ' +<BR> > 'Temperature > = a.Temperature, > ' > +<BR> > 'Humidity > = a.Humidity, > ' > +<BR> > 'Altitude > = a.Altitude, > ' > +<BR> > 'Pressure > = a.Pressure, > ' > +<BR> > 'Inst_Det_Number = > a.Inst_Det_Number, ' > +<BR> > 'Det_Sensitivity = > a.Det_Sensitivity, ' > +<BR> > 'Det_Operating_Voltage = a.Det_Operating_Voltage, > ' > +<BR> > 'Det_Threshold = > a.Det_Threshold, > ' > +<BR> > 'WindowMeasure = > a.WindowMeasure, > ' > +<BR> > 'Rate_Alarm > = a.Rate_Alarm, > ' > +<BR> > 'Scal_Alarm > = a.Scal_Alarm, > ' > +<BR> > 'Dose_Alarm > = a.Dose_Alarm, > ' > +<BR> > 'FS_Response > = a.FS_Response, > ' > +<BR> > 'Reset > = a.Reset, > ' > +<BR> > 'Audio > = a.Audio, > ' > +<BR> > 'Meter_Zero > = a.Meter_Zero, > ' > +<BR> > 'Window_Status = > a.Window_Status, > ' > +<BR> > 'Bgd_Subtract > = a.Bgd_Subtract, > ' > +<BR> > 'Alarm_Set > = a.Alarm_Set, > ' > +<BR> > 'Mechanical_Chk = > a.Mechanical_Chk, > ' > +<BR> > 'Battery_Chk > = a.Battery_Chk, > ' > +<BR> > 'Min_Voltage > = a.Min_Voltage, > ' > +<BR> > 'Linearity > = a.Linearity, > ' > +<BR> > 'HV_Readout > = a.HV_Readout, > ' > +<BR> > 'HV_RefVoltage_1 = > a.HV_RefVoltage_1, ' > +<BR> > 'HV_RefVoltage_2 = > a.HV_RefVoltage_2, ' > +<BR> > 'HV_InstVoltage_1 = > a.HV_InstVoltage_1, ' > +<BR> > 'HV_InstVoltage_2 = > a.HV_InstVoltage_2, ' > +<BR> > 'Inst_Voltage > = a.Inst_Voltage, > ' > +<BR> > 'Inst_Input_Sens = > a.Inst_Input_Sens, ' > +<BR> > 'Rate_Alert > = a.Rate_Alert, > ' > +<BR> > 'Scal_Alert > = a.Scal_Alert, > ' > +<BR> > 'Dose_Alert > = a.Dose_Alert, > ' > +<BR> > 'TemperatureEnglishUnits = a.TemperatureEnglishUnits, ' > +<BR> > 'PressureEnglishUnits = a.PressureEnglishUnits, > ' > +<BR> > 'AltitudeEnglishUnits = a.AltitudeEnglishUnits, > ' > +<BR> > 'Cal_Const > = a.Cal_Const, > ' > +<BR> > 'Dead_Time > = a.Dead_Time > ' > +<BR> 'from ' > +<BR> '( select ' > +<BR> > 'top 1 x.* ' > +<BR> > 'from ' > +<BR> > 'WorkOrderInstrumentXref x, ' > +<BR> > 'WorkOrders wo ' > +<BR> > 'where ' > +<BR> > 'x.CustomerInstrumentID = :CustomerInstrumentID and ' > +<BR> > 'x.CustomerDetectorID = :CustomerDetectorID and ' > +<BR> > 'wo.WorkOrderID = > x.WorkOrderID and ' > +<BR> > 'wo.State > = > 5 > and ' > +<BR> > 'x.WorkOrderInstID <> ' + inttostr( > NewRecordID ) + ' ' > +<BR> > 'order by ' > +<BR> > 'x.WorkOrderID desc ) a ' +<BR> 'where > ' +<BR> > 'WorkOrderInstrumentXref.WorkOrderInstID = :WorkOrderInstID ';</FONT></DIV> > <DIV><FONT face="Courier New" size=2></FONT> </DIV> > <DIV><FONT face="Courier New" size=2> > Parameters.ParamByName( 'WorkOrderInstID' ).Value > := NewRecordID;<BR> Parameters.ParamByName( > 'CustomerInstrumentID' ).Value := > WorkOrderInstrumentsEditFrame.WorkOrderInstrumentsCustomerInstrumentID.Value;<BR> > Parameters.ParamByName( 'CustomerDetectorID' ).Value := > WorkOrderDetectorsEditFrame.WorkOrderDetectorsCustomerDetectorID.Value;<BR> > Execute;<BR> end;<BR></FONT></DIV> > </div>
![]() |
0 |
![]() |
"Kevin Frevert" <kevin@workdrinkingicewater.com> wrote in message news:13858@forums.codegear.com... > It smells like an issue with your ADO. Is the error reproducible on > another machine? > > What version of Delphi are you using? What version of ADO? Delphi 2006 Architect. ADO 2.8. Sql Server 2005 (express).
![]() |
0 |
![]() |
"Kevin Frevert" <kevin@workdrinkingicewater.com> wrote in message news:13858@forums.codegear.com... > It smells like an issue with your ADO. Is the error reproducible on > another machine? I haven't tried it on another machine, but if I remove the parameters and just substitute the values into the sql string, it works fine. And sometimes, depending on the route through the code, it works reproducably fine. I would have expected, since the route through the code when it works involves more steps, that it would have failed more likely in the longer route (where something in the code steps on something else). But when it fails, the path through the code is very short so far less likely that something is stepping on something else.
![]() |
0 |
![]() |
Hi Mark, I am experiencing the exact same issue. Did you have any luck finding a solution ? Regards, Matt.
![]() |
0 |
![]() |
> "not enough storage is available to complete this operation" < I think, it's a problem with the querys from statement. Top 1 can give millions of records when the conditions for the records are equal. Try your query with different parameters in the SQL Server Management Studio / Query Analyzer. Maybeits better to put the update statement in a stored procedure.
![]() |
0 |
![]() |
Here is list of Microsoft knowlage base articals on that error http://forums.techarena.in/windows-2000-active-directory/558347.htm > {quote:title=Mark Tiede wrote:}{quote} > <div id="jive-html-wrapper-div"> > > <DIV><FONT face=Arial size=2>I have included a code stub below. When this > executes, I sometimes (reproducibly) get this error:</FONT></DIV> > <DIV><FONT face=Arial size=2><FONT size=2></FONT></FONT> </DIV> > <DIV><FONT face=Arial size=2><FONT size=2>"not enough storage is available to > complete this operation"</DIV></FONT></FONT> > <DIV><FONT face=Arial size=2></FONT> </DIV> > <DIV><FONT face=Arial size=2> > <DIV><FONT face=Arial size=2>Anyone have ANY idea why it would EVER fail? > Also, it seems to fail BEFORE the sql is actually sent to sql server. I > put a trace in the microsoft sql profiler, and, if I did it right, it didn't > show ANYTHING going to the server. It seems like it is somehow screwed up > for the handling of the parameters. If I completely remove the parameters > and just build the string dynamically, it works just fine. I also tried > making sure all the parameter properties were set manually after setting > the commandtext, but that didn't make any difference either. I also > tried adding a Parameters.Clear before the assignment of the commandtext. > No joy! At debug time, the sql looks okay and the > parameters look okay, but when the Execute happens, the error > occurs.</FONT></DIV> > <DIV><FONT face=Arial size=2></FONT> </DIV> > <DIV><FONT face=Arial size=2>Again, any ideas? I am at a loss and > want to understand what is happening here. </FONT></DIV></FONT></DIV> > <DIV><FONT face=Arial size=2></FONT> </DIV> > <DIV><FONT face="Courier New" size=2> with StandardsFrame.ADOCommand do > begin<BR> ExecuteOptions := > [eoExecuteNoRecords];<BR> CommandText > :=<BR> 'update ' > +<BR> > 'WorkOrderInstrumentXref ' +<BR> 'set > ' +<BR> > 'Temperature > = a.Temperature, > ' > +<BR> > 'Humidity > = a.Humidity, > ' > +<BR> > 'Altitude > = a.Altitude, > ' > +<BR> > 'Pressure > = a.Pressure, > ' > +<BR> > 'Inst_Det_Number = > a.Inst_Det_Number, ' > +<BR> > 'Det_Sensitivity = > a.Det_Sensitivity, ' > +<BR> > 'Det_Operating_Voltage = a.Det_Operating_Voltage, > ' > +<BR> > 'Det_Threshold = > a.Det_Threshold, > ' > +<BR> > 'WindowMeasure = > a.WindowMeasure, > ' > +<BR> > 'Rate_Alarm > = a.Rate_Alarm, > ' > +<BR> > 'Scal_Alarm > = a.Scal_Alarm, > ' > +<BR> > 'Dose_Alarm > = a.Dose_Alarm, > ' > +<BR> > 'FS_Response > = a.FS_Response, > ' > +<BR> > 'Reset > = a.Reset, > ' > +<BR> > 'Audio > = a.Audio, > ' > +<BR> > 'Meter_Zero > = a.Meter_Zero, > ' > +<BR> > 'Window_Status = > a.Window_Status, > ' > +<BR> > 'Bgd_Subtract > = a.Bgd_Subtract, > ' > +<BR> > 'Alarm_Set > = a.Alarm_Set, > ' > +<BR> > 'Mechanical_Chk = > a.Mechanical_Chk, > ' > +<BR> > 'Battery_Chk > = a.Battery_Chk, > ' > +<BR> > 'Min_Voltage > = a.Min_Voltage, > ' > +<BR> > 'Linearity > = a.Linearity, > ' > +<BR> > 'HV_Readout > = a.HV_Readout, > ' > +<BR> > 'HV_RefVoltage_1 = > a.HV_RefVoltage_1, ' > +<BR> > 'HV_RefVoltage_2 = > a.HV_RefVoltage_2, ' > +<BR> > 'HV_InstVoltage_1 = > a.HV_InstVoltage_1, ' > +<BR> > 'HV_InstVoltage_2 = > a.HV_InstVoltage_2, ' > +<BR> > 'Inst_Voltage > = a.Inst_Voltage, > ' > +<BR> > 'Inst_Input_Sens = > a.Inst_Input_Sens, ' > +<BR> > 'Rate_Alert > = a.Rate_Alert, > ' > +<BR> > 'Scal_Alert > = a.Scal_Alert, > ' > +<BR> > 'Dose_Alert > = a.Dose_Alert, > ' > +<BR> > 'TemperatureEnglishUnits = a.TemperatureEnglishUnits, ' > +<BR> > 'PressureEnglishUnits = a.PressureEnglishUnits, > ' > +<BR> > 'AltitudeEnglishUnits = a.AltitudeEnglishUnits, > ' > +<BR> > 'Cal_Const > = a.Cal_Const, > ' > +<BR> > 'Dead_Time > = a.Dead_Time > ' > +<BR> 'from ' > +<BR> '( select ' > +<BR> > 'top 1 x.* ' > +<BR> > 'from ' > +<BR> > 'WorkOrderInstrumentXref x, ' > +<BR> > 'WorkOrders wo ' > +<BR> > 'where ' > +<BR> > 'x.CustomerInstrumentID = :CustomerInstrumentID and ' > +<BR> > 'x.CustomerDetectorID = :CustomerDetectorID and ' > +<BR> > 'wo.WorkOrderID = > x.WorkOrderID and ' > +<BR> > 'wo.State > = > 5 > and ' > +<BR> > 'x.WorkOrderInstID <> ' + inttostr( > NewRecordID ) + ' ' > +<BR> > 'order by ' > +<BR> > 'x.WorkOrderID desc ) a ' +<BR> 'where > ' +<BR> > 'WorkOrderInstrumentXref.WorkOrderInstID = :WorkOrderInstID ';</FONT></DIV> > <DIV><FONT face="Courier New" size=2></FONT> </DIV> > <DIV><FONT face="Courier New" size=2> > Parameters.ParamByName( 'WorkOrderInstID' ).Value > := NewRecordID;<BR> Parameters.ParamByName( > 'CustomerInstrumentID' ).Value := > WorkOrderInstrumentsEditFrame.WorkOrderInstrumentsCustomerInstrumentID.Value;<BR> > Parameters.ParamByName( 'CustomerDetectorID' ).Value := > WorkOrderDetectorsEditFrame.WorkOrderDetectorsCustomerDetectorID.Value;<BR> > Execute;<BR> end;<BR></FONT></DIV> > </div>
![]() |
0 |
![]() |