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

Вниз

CommandText does not return a result set   Найти похожие ветки 

 
девушка   (2009-07-07 09:58) [0]

Добрый день!

Для выборки данных из БД MS SQL 2005 использую ХП вида:

select *
from table1 ...


В приложении TDataSet с запросами вида:

execute dbo.sp_CUSTOMER_select
@period=:period
....


Выполняю запрос так:

dstCustomer.Parameters.ParamByName("period").Value:=period_curr;
...
dstCustomer.Active:=true;


У 99% пользователей все работает без ошибок.

Пользователи подключаются со следующими параметрами строки подключения:
Provider=SQLOLEDB.1
Integrated_Security=SSPI


Для пользователей, которые подключаются пологину и паролю (а не с использванием SSPI), на такие вызовы ХП выдется ошибка:
CommandText does not return a result set
Для запросов, вида:
select * from table1 ... без вызова ХП - все проходит нормально.

Такая же ситуация происходит с одним пользователем, подключающимся с SSPI.

Грешу только на какие-то хитрые настройки безопасности в скуль-сервере...


 
Ega23 ©   (2009-07-07 10:03) [1]


> Грешу только на какие-то хитрые настройки безопасности в
> скуль-сервере...


Скорее всего.


 
девушка   (2009-07-07 10:30) [2]

Ошибка нашлась :)
как было написано в http://forum.vingrad.ru/forum/topic-113693/0.html
чудес не бывает.

Оказалось, что процедура, считывающая настройки гридов для пользователей содержит бякостную строку:
CREATE PROCEDURE sys_options.p_GRID_OPT_select
(
@form_class_name varchar(50),
@grid_view_name varchar(50)
)
AS
BEGIN
 /* Тело процедуры */
 declare @id_person_user int;

 EXECUTE dbo.p_PERSON_USER_get_id
 @id_person_user = @id_person_user output;
 
if(@id_person_user is null)  ---ВОТ ОНА
 return;
 
 Select
 *
 from sys_options.GRID_OPT
 where
 id_person_user=@id_person_user and
 form_class_name=@form_class_name and
 grid_view_name=@grid_view_name    
 order by field_index  ;
 
END


И действительно запрос ничего не возвращает...
короче отлаживать надо лучше :(


 
Ega23 ©   (2009-07-07 10:35) [3]

ИМХО, за такой код расстреливать надо.
Заведи параметр и по нему поднимай исключение, например. Или как-то ещё. Но вот так, "тихой сапой"...


 
девушка   (2009-07-07 10:46) [4]

угу


 
Dennis I. Komarov ©   (2009-07-07 11:45) [5]


> Ega23 ©   (07.07.09 10:35) [3]

Уж больно вы грозны сегодня. Ты расстресивать собрался, у ИШ рука к пистолету тянется :)


 
Ega23 ©   (2009-07-07 13:01) [6]


> Уж больно вы грозны сегодня. Ты расстресивать собрался


Видишь ли. Можешь считать это тупостью, можешь педантизмом, можешь как угодно.
Но, ИМХО, если ты вызываешь ХП с определённым набором параметров (не значениями, а именно набором), а ХП в одном случае возвращает ResultSet, а вдругом - нет (в зависимости от значений этих параметров), то за такое надо стрелять.
Верни пустой resultSet. Подними exception. Сделай ещё что-нибудь. Но таких "приколов" как в сабже - ИМХО быть не должно.


 
Dennis I. Komarov ©   (2009-07-07 14:08) [7]


> Но таких "приколов" как в сабже - ИМХО быть не должно

Да я не про это ;)


 
MsGuns ©   (2009-07-07 14:29) [8]

>Ega23 ©   (07.07.09 13:01) [6]

Абсолютно справедливо.

Я даже голосую за предлагаемый тобою расстрел нарушителей


 
Dennis I. Komarov ©   (2009-07-07 14:59) [9]

Ну вот, сейчас найдут третьего, и ... :"(

Сорри за флуд, скучно сегодня однако, у всех каникулы


 
Anatoly Podgoretsky ©   (2009-07-07 15:57) [10]

> Dennis I. Komarov  (07.07.2009 14:59:09)  [9]

И получится революционная тройка.



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

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

Наверх





Память: 0.47 MB
Время: 0.005 c
15-1246060493
Клаус
2009-06-27 03:54
2009.09.06
помогите найти книгу


2-1246881735
mfender
2009-07-06 16:02
2009.09.06
Уничтожение передаваемых параметров в DLL


15-1246653405
Knight
2009-07-04 00:36
2009.09.06
Downloader-ы...


2-1246940192
f-a-l-l-e-n
2009-07-07 08:16
2009.09.06
Проблема с richedit


15-1247085005
Юрий
2009-07-09 00:30
2009.09.06
С днем рождения ! 9 июля 2009 четверг





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский