Форум: "Начинающим";
Текущий архив: 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