Всем добрый день. Вопрос уже обсуждался, я нашел кучу примеров, сделал все "правильно", но проблема осталась нерешенной. На самом деле мне нужно выполнить хранимую процедуру. Но даже обычный SELECT возвращает ошибку в методе executeQuery(). AX 4.0, у меня на сервере есть админские права.
Ошибка следующая:
Request for the permission of type 'SqlStatementExecutePermission' failed.
(S)\Classes\SqlStatementExecutePermission\demand
(S)\Classes\Statement\executeQuery
(C)\Jobs\sqlServerTest - line 18
X++:
public static server void sqlServerTest(Args _args)
{
DictTable dt = new DictTable(tablenum(InventTable));
str sql = strfmt("SELECT * FROM %1 WHERE %1.DataAreaId = '%2'",
dt.name(DbBackend::Sql)
, curext()
);
Connection conn = new Connection();
Statement stmt = conn.createStatement();
ResultSet rs;
SqlStatementExecutePermission perm = new SqlStatementExecutePermission(sql);
;
perm.assert();
// BP deviation documented
rs = stmt.executeQuery(sql);
while(rs.next())
{
info(rs.getString(1));
//info(rs.getString(2));
}
CodeAccessPermission::revertAssert();
info("OK");
}