Сбой запроса на разрешение типа "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) тоже.
Не пойму почему с вызовом хранимой процедуры из аксапты такая проблема.