|
|
|
Не формируется ADORecorset для большого числа записей
|
|||
|---|---|---|---|
|
#18+
В чем тут может быть ошибка? При небольшом кол-ве записей все выполняется, если количество более 300, рекордсет неформируется. Может быть для больших наборов данных команду надо как то иначе выполнять, с параметрами например? Set cmd = New ADODB.COMMAND cmd.CommandType = adCmdStoredProc cmd.ActiveConnection = Connection cmd.CommandText = "DWH.BDG_API.CalcCell" cmd.Parameters.Append cmd.CreateParameter("p_dtcount", adDate, adParamOutput, 8, dt_count) cmd.Parameters.Append cmd.CreateParameter("p_AccessError", adVarChar, adParamOutput, 4000, AccessError) cmd.Parameters.Append cmd.CreateParameter("p_ScenarioId", adNumeric, adParamInput, 8, in_id_scenario) cmd.Parameters.Append cmd.CreateParameter("p_KindSummId", adNumeric, adParamInput, 8, in_id_kind_summ) cmd.Parameters.Append cmd.CreateParameter("p_ScenarioProper", adNumeric, adParamInput, 8, in_scenario_proper) cmd.Parameters.Append cmd.CreateParameter("p_OwnIndex", adNumeric, adParamInput, 8, in_own_index) cmd.Parameters.Append cmd.CreateParameter("p_DateFrom", adDate, adParamInput, 8, in_date_from) cmd.Parameters.Append cmd.CreateParameter("p_DateTo", adDate, adParamInput, 8, in_date_to) cmd.Parameters.Append cmd.CreateParameter("p_Purpose", adVarChar, adParamInput, 250, in_purpose_new) cmd.Parameters.Append cmd.CreateParameter("p_PurposeProper", adNumeric, adParamInput, 8, in_purpose_proper_new) cmd.Parameters.Append cmd.CreateParameter("p_StateDateFrom", adDate, adParamInput, 8, in_state_date_from) cmd.Parameters.Append cmd.CreateParameter("p_StateDateTo", adDate, adParamInput, 8, in_state_date_to) cmd.Parameters.Append cmd.CreateParameter("p_UserFilter", adVarChar, adParamInput, 2000, in_userFilter_new) cmd.Parameters.Append cmd.CreateParameter("p_ReportSide", adNumeric, adParamInput, 8, in_report_side) cmd.Parameters.Append cmd.CreateParameter("p_CalcResType", adNumeric, adParamInput, 8, calc_result_type) cmd.Parameters.Append cmd.CreateParameter("p_TypeRight", adInteger, adParamInput, 4, in_type_right) cmd.Parameters.Append cmd.CreateParameter("p_UserRight", adVarChar, adParamInput, 32, in_user_right) cmd.Parameters.Append cmd.CreateParameter("p_FullSegment", adVarChar, adParamInput, 4000, sxml) Set rs = cmd.Execute ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2005, 17:43:43 |
|
||
|
Не формируется ADORecorset для большого числа записей
|
|||
|---|---|---|---|
|
#18+
Проблема может заключаться в том, что сервер ворзвращает какой-то варнинг. В этом случае первый рекордсет пустой, но он есть - это варнинг, а второй - ваш запрошенный. И получить его тогда можно через NextRecordset. Ну, это как версия. Причин может быть много. ------- Сегодня он VB применит, а завтра Родине изменит! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2005, 16:44:01 |
|
||
|
Не формируется ADORecorset для большого числа записей
|
|||
|---|---|---|---|
|
#18+
"рекордсет неформируется" сопровождается каким-нибудь ошибками, сообщениями? Как смОтрите рекордсет? Как определяете, что в нем ничего нет? Что за сервер, на что ссылается объект Connection? Предыдущий товарищ правильно подметил первую граблю, которая может быть... если это SQL Server, то использовать SET NOCOUNT ON (и проверить, чтоб не было ошибок при параметрах, после которых 300 записей д.б. вернуться). Какой-нибудь отладчик имеется в распоряжении, где можно этот запрос запустить и посмотреть на результат? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2005, 23:33:13 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=33041337&tid=2167873]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
65ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
| others: | 232ms |
| total: | 395ms |

| 0 / 0 |
