Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.06.24;
Скачать: [xml.tar.bz2];

Вниз

ничего не понимаю!!!!!   Найти похожие ветки 

 
stud ©   (2007-05-30 18:56) [0]

есть база ms sql 2000,
есть ХП, выполняю эту ХП из менеджера и своей программы (ADO) с одинаковыми параметрами - получаю разные результаты!
причем вношу изменения в процедуру - такое ощущение что программа не их не видит и все результаты старые выдает (до изменения).
что это может быть??????


 
Desdechado ©   (2007-05-30 19:19) [1]

другой сервер
другая схема с данными


 
Jan1   (2007-05-30 19:28) [2]


> есть ХП, выполняю эту ХП из менеджера и своей программы
> (ADO) с одинаковыми параметрами - получаю разные результаты!
>

уверен что такие же параметры? профайлер смотрел?


 
Kostafey ©   (2007-05-30 19:29) [3]

Было дело.
В приложении было 2 подключения к БД.

Одно поменял, другое забыл.

Полчаса бился голофой в стол. Вспомнил;)
Исправил, отправился в нирвану ;)


 
ЮЮ ©   (2007-05-31 03:46) [4]

>и своей программы (ADO)

какой компонент? Не используешь ли один и тот же компонент для вызова разных ХП? Какой сераиспак на сервере?

Вот с чем я столкунулся на практике:

1) Имеет место ошибка в сервере:
http://support.microsoft.com/kb/834720/EN-US/
Исправлена в SP4. У нас стоял только SP3.

2)  в одной транзакции выполнялись несколько ХП.

В рамках транзакции возникало Zero Divide, сокрытое от глаз по причине 1)
В ходе многочасовой трассировки удалось выяснить, что причиной всему использованеие одного экземпляра TADOCommand для выполнения разных SQL предложений. При повторном его использовнии на серевере обнаружено исполнение сначала предыдущего, а затем ожидаемого предложения. Причем вызываемые внутри первого предложения SP вызывала UDF логика работы которой не соответствала значениям параметров, которые оно должнв была получить.


 
stud ©   (2007-05-31 08:42) [5]

сервер естественно тот который нужен.
уже несколько раз проверял.
компонент адосторедпроц. удалял, кидал новый - результат тот же.
параметры одинаковые. вызывается только одна хп.
похоже на то, что из программы вызывается старая версия хп???
тока откуда оно берется?


 
ЮЮ ©   (2007-05-31 09:15) [6]

> похоже на то, что из программы вызывается старая версия
> хп???

Неоткуда ей взятся старой.
Толька другая
1) с другой БД
2) есть две
 dbo.ProcName
 <user>.ProcName

Самая простая проверка - переименование той, которую правишь. Если программа по-преднему её "видит", значит - другая


 
sniknik ©   (2007-05-31 10:54) [7]

> что причиной всему использованеие одного экземпляра TADOCommand для выполнения разных SQL предложений.
> При повторном его использовнии на серевере обнаружено исполнение сначала предыдущего, а затем ожидаемого предложения.
ничего не путаешь? обычно такими повторами TADOQuery грешит, в силу его специфики + привычек программиста в написания кода с Add и одновременным забыванием Clear...
а для TADOCommand это надо постараться ... CommandText:= CommandText + #13#10 + NewSql; такого и спьяну не напишешь...

чето там у вас не то было.


 
ЮЮ ©   (2007-05-31 11:09) [8]

>такими повторами TADOQuery грешит, в силу его специфики + привычек программиста в написания кода с Add и одновременным забыванием Clear...
>чето там у вас не то было.

Всё было именно так как сказано.
Есть соединение, класс типа TADOConnection. У него метод Exeс().
Использовался компонент TADOCommand, создаваемый в конструкторе. Какие там к черту Add, там нет SQL.
При выполнении в рамках одной транзакции цепочки
Exec(EXEC procName1 :p1 :p2);
Exec(EXEC procName2 :p1 :p2);
Exec(EXEC procName1 :p1 :p2);
Exec(EXEC procName2 :p1 :p2);
такая фигня и наблюдалась. В отладчике я вижу один EXEC ... в Command, а в профайлере - цепочку вызовов, которую замыкает нужный вызов.

При создании локального TADOCommand в методе Exeс все стало работать нормально.


 
stud ©   (2007-06-01 10:10) [9]

както само рассосалось...........



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2007.06.24;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.042 c
2-1180516736
Uliya
2007-05-30 13:18
2007.06.24
Microsoft Jet 4.0 OLE DB Provider вкладка Подключение


6-1164898198
Dysan
2006-11-30 17:49
2007.06.24
Как фоново отправить http запрос?


3-1175490505
Карелин Артем
2007-04-02 09:08
2007.06.24
Компоненты прямого доступа для DBF подскажите.


2-1180533394
ShpionGraF
2007-05-30 17:56
2007.06.24
таблица MS Word


2-1180700096
Kolan
2007-06-01 16:14
2007.06.24
Программа что-то делает, как попасть на код где это происходить.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский