Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Stored Proc + AccessXP = Проблема / 15 сообщений из 15, страница 1 из 1
13.08.2003, 13:41
    #32235332
Nick987
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Stored Proc + AccessXP = Проблема
Интересная трабла обнаружилась:
В одной из ХП есть такой код

SELECT idKlient, ........
into #Klienty
FROM Klienty
получается более 10000 записей

Так вот, запуская эту ХП из QA, получаю нормальные данные, а если запускаю из Access, то выдает усеченные записи, как выяснилось в табличку #Klienty попадает только 10000 записей, то есть то число, которое прописано в параметрах Аксесса (количество записей, которые кешируются в проекте).

Может оно так и надо, но я удивлен.
...
Рейтинг: 0 / 0
13.08.2003, 13:44
    #32235336
Senin Viktor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Stored Proc + AccessXP = Проблема
см. параметр MaxRecord по умолчанию он равен 10 000
...
Рейтинг: 0 / 0
13.08.2003, 13:47
    #32235342
Nick987
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Stored Proc + AccessXP = Проблема
Это понятно, но почему этот параметр влияет на ХП, которая работает на сервере?
Или это нормально когда ХП выдает разные результаты в зависимости от того откуда ее запустили?
...
Рейтинг: 0 / 0
13.08.2003, 13:52
    #32235352
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Stored Proc + AccessXP = Проблема
Кто тебе сказал, что ХП не дает больше 10000 записей?
Это аксес больше не берет
Нигде ничего на ХП не влияет.
...
Рейтинг: 0 / 0
13.08.2003, 13:54
    #32235354
Хам трамвайный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Stored Proc + AccessXP = Проблема
енто сделано
шобы ваш любимый
сетевой трафик
не перегружалси
придет на клиента
стока записёв
скока указано в
параметрах
а если хоцца
ишо, то жми
кнопку внизу окна
и новая порция
прискачет
а не ндравица
то ставь 0 в
параметрах
и тогда усе
будет итить
...
Рейтинг: 0 / 0
13.08.2003, 13:55
    #32235356
Senin Viktor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Stored Proc + AccessXP = Проблема
>но почему этот параметр влияет на ХП, которая работает на сервере?

Потому что есть такая штука как настройки (директивы, хинты и т.п.), с помощью оных можно управлять поведением сервера.
Открой профайлер да и посмотри что Акес шлет сиквелу, SET ROWCOUNT 10000 он шлет.
...
Рейтинг: 0 / 0
13.08.2003, 14:05
    #32235373
Senin Viktor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Stored Proc + AccessXP = Проблема
Во, блин, накинулись
...
Рейтинг: 0 / 0
13.08.2003, 15:10
    #32235471
Nick987
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Stored Proc + AccessXP = Проблема
Видимо я плохо объяснил.
Сама ХП выдает не более 20 записей. Проблема в том, что значения в этих 20-ти записях отличаются в зависимости от того, откуда запущена ХП. Разбор полетов показал, что проблема проявляется в этом куске ХП:

SELECT idKlient, ........
into #Klienty
FROM Klienty

при запуске из Аксесса в табличку #Klienty попадают не все записи из таблицы Klienty, а только 10 000 (если MaxRecord в Аксессе = 10 000)

Потом эти записи внутри ХП группируются, обсчитываются и.т.п и выдается сводная информация по месяцам (те самые 20 записей).

Так вот при запуске этой ХП из QA мы имеем правильные помесячные данные, а при запуске из Access - нет.

А если я увеличиваю значение MaxRecords до, скажем 100 000 (то есть большее, чем количество записей в таблице Klienty), то и в Аксессе эта ХП показывает правильные результаты.

Повторюсь, может оно и правильно, может оно так и должно быть, только такое поведение меня несколько озадачило.
...
Рейтинг: 0 / 0
13.08.2003, 15:13
    #32235481
Senin Viktor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Stored Proc + AccessXP = Проблема
>А если я увеличиваю значение MaxRecords до, скажем 100 000

Тебе уже Хам трамвайный написал: 0 (ноль)- все записи. И не мучайся.
...
Рейтинг: 0 / 0
13.08.2003, 15:17
    #32235485
Nick987
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Stored Proc + AccessXP = Проблема
При работе этой ХП в Аксесс передается только 20 записей.
Тогда причем здесь MaxRecords?
...
Рейтинг: 0 / 0
13.08.2003, 15:32
    #32235518
incold
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Stored Proc + AccessXP = Проблема
Есть такая полезная утилита - Profiler

При выполнении этой процедуры из Ассекса первая строка
SET ROWCOUNT 10000
а затем вызов твоей процедуры
тут-то и собака порылась

поставь в процедуре
SET ROWCOUNT 0
...
Рейтинг: 0 / 0
13.08.2003, 15:33
    #32235521
Nick987
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Stored Proc + AccessXP = Проблема
Попробуйте с какой-нибудь своей табличкой:

CREATE PROCEDURE xp1
AS
SET NOCOUNT ON

SELECT idKlient
into #Klienty
FROM Klienty

SET NOCOUNT OFF
select count(*)
from #Klienty

RETURN

При MaxRecords, скажем 100.
...
Рейтинг: 0 / 0
13.08.2003, 15:35
    #32235524
Nick987
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Stored Proc + AccessXP = Проблема
Кажись дошло наконец-то....
...
Рейтинг: 0 / 0
13.08.2003, 17:51
    #32235808
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Stored Proc + AccessXP = Проблема
хочу уточнить
SET ROWCOUNT 10000
получается эта команда северу не слать 10000 записей, а обработать только 10000 записей. соответственно раз 10000 записей обработано то и шлется 10000.
а если известно что получится(отправится) 20 записей из обработки 20000
все равно нада ставить SET ROWCOUNT 20000 ?
...
Рейтинг: 0 / 0
14.08.2003, 10:47
    #32236215
Nick987
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Stored Proc + AccessXP = Проблема
На это я и попался.
MaxRecords 10000, который установлен в Аксесс влияет на все выполнение ХП, а не только на вывод результирующих записей, соответственно для правильного выполнения ХП вне зависимости от контекста теперь ставлю в начало процедуры SET ROWCOUNT 0
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Stored Proc + AccessXP = Проблема / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]