AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 07.05.2010, 18:06   #1  
Poleax is offline
Poleax
Модератор
Аватар для Poleax
MCP
MCBMSS
Злыдни
 
1,353 / 595 (22) +++++++
Регистрация: 17.02.2005
Адрес: msk
Записей в блоге: 34
? Сбой запроса на разрешение типа "SqlStatementExecutePermission".
Сбой запроса на разрешение типа "SqlStatementExecutePermission".

Сбой запроса на разрешение типа "SqlStatementExecutePermission".
(S)\Classes\SqlStatementExecutePermission\demand
(S)\Classes\Statement\executeQuery

Каких прав доступа не хватает?

Вызываю метод класса на стороне сервера:
X++:
server static SET pGet_Items()
{
    Connection  con = new Connection();
    Statement   stmt = con.createStatement();
    ResultSet   resultSet;

    set s1 = new set (types::Container);
    ;

    new SqlStatementExecutePermission(sqlExpression).assert();
    sqlExpression = Strfmt("exec [pGet_Items_CLEAR] '%1'", InventParameters::find().it_SQLDB);
    resultSet = stmt.executeQuery(sqlExpression);
    CodeAccessPermission::revertAssert();

    return s1;
}
Все время валится на stmt.executeQuery(sqlExpression);

Процедуру элементарную вызывает
Код:
ALTER PROCEDURE [dbo].[pGet_Items_CLEAR] 
		@DB		varchar(20)
AS
BEGIN
	SET NOCOUNT ON;
	DECLARE @TableName	varchar(50)
	SET @TableName = '.dbo.Items'; 	  

	EXEC ('TRUNCATE TABLE ' + @DB + @TableName)
	
	Select 0 as [tmp];
	
END
С чем это связано ошибка?

Вызов другой процедуры проходит нормально, которая возвращает строки. Но в той процедуре тоже есть строка EXEC ('TRUNCATE TABLE ' + @DB + @TableName), но она почему то не отрабатывает при вызове процедуры из аксапты. Таблица так и остается полной.

Собственно запрос в SQL Profiler:
Код:
declare @p1 int
set @p1=0
declare @p3 int
set @p3=2
declare @p4 int
set @p4=8193
declare @p5 int
set @p5=0
exec sp_cursoropen @p1 output,N'exec pGet_Items ''Test''',@p3 output,@p4 output,@p5 output
select @p1, @p3, @p4, @p5
Если подключится с правами юзера АОС к сиквелу и запустить код из профайлера то все отлично отрабатывает , и EXEC ('TRUNCATE TABLE ' + @DB + @TableName) тоже.

Не пойму почему с вызовом хранимой процедуры из аксапты такая проблема.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Сбой запроса на разрешение типа "FileIOPermission" Silphidae DAX: Программирование 17 13.04.2009 14:30
Задать критерий типа !="" bobski DAX: Программирование 3 29.12.2008 08:23
Ошибка: фантомное дублирующее поле типа "дата" в гриде belugin DAX: Программирование 8 14.06.2006 00:15
Странный эффект. OLAP и измерение типа "перечислимый тип" chi DAX: Программирование 1 28.12.2005 12:31
Как при удалении записи из таблицы подавить вывод запроса "Удалить запись?" Anders DAX: Программирование 2 05.05.2004 17:52

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 02:56.