|
|
#1 |
|
Модератор
|
Сбой запроса на разрешение типа "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; } Процедуру элементарную вызывает Код: 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 Не пойму почему с вызовом хранимой процедуры из аксапты такая проблема. |
|
|
|
|
|