Share via


SqlStatementExecutePermission Class

Controls the ability to use SQL in Microsoft Dynamics AX.

Syntax

class SqlStatementExecutePermission extends CodeAccessPermission

Run On

Called

Methods

  Method Description
Gg947244.pubmethod(en-us,AX.60).gif assert Declares that the calling code can invoke an API that is protected by a permission. (Inherited from CodeAccessPermission.)
Gg947244.pubmethod(en-us,AX.60).gif cancelTimeOut Cancels a previous method call to the setTimeOut method. (Inherited from Object.)
Gg947244.pubmethod(en-us,AX.60).gif copy Creates and returns a copy of the current permission class object. (Overrides the copy Method.)
Gg947244.pubmethod(en-us,AX.60).gif demand Checks the call stack to determine whether the permission that is required to invoke an API has been granted to the calling code. (Inherited from CodeAccessPermission.)
Gg947244.pubmethod(en-us,AX.60).gif equal Determines whether the specified object is equal to the current one. (Inherited from Object.)
Gg947244.pubmethod(en-us,AX.60).gif getTimeOutTimerHandle Returns the timer handle for the object. (Inherited from Object.)
Gg947244.pubmethod(en-us,AX.60).gif handle Retrieves the handle of the class of the object. (Inherited from Object.)
Gg947244.pubmethod(en-us,AX.60).gif isSubsetOf Determines whether a current permission is a subset of the specified permission. (Overrides the isSubsetOf Method.)
Gg947244.pubmethod(en-us,AX.60).gif new Creates a new instance of the SQLStatementExecutePermission class. (Overrides the new Method.)
Gg947244.pubmethod(en-us,AX.60).gif notify Releases the hold on an object that has called the wait method on this object. (Inherited from Object.)
Gg947244.pubmethod(en-us,AX.60).gif notifyAll Releases a lock on the object that was issued by the wait method on this object. (Inherited from Object.)
Gg947244.pubmethod(en-us,AX.60).gif objectOnServer Determines whether the object is on a server. (Inherited from Object.)
Gg947244.pubmethod(en-us,AX.60).gif owner Returns the instance that owns the object. (Inherited from Object.)
Gg947244.pubmethod(en-us,AX.60).gif setTimeOut Sets up the scheduled execution of a specified method. (Inherited from Object.)
Gg947244.pubmethod(en-us,AX.60).gif toString Returns a string that represents the current object. (Inherited from Object.)
Gg947244.pubmethod(en-us,AX.60).gif usageCount Returns the current number of references, that is, the value of the reference counter, that the object has. (Inherited from Object.)
Gg947244.pubmethod(en-us,AX.60).gif wait Pauses a process. (Inherited from Object.)
Gg947244.pubmethod(en-us,AX.60).gif xml Returns an XML string that represents the current object. (Inherited from Object.)

Top

Remarks

This class is designed to check permissions for specific APIs. For a list of all protected APIs, see Secured APIs.

You must call the assert method on the same tier, usually the server tier, that the corresponding CodeAccessPermission::demand method is called on before the protected API is executed. Call a method on the server tier from one of the following:

  • A server static method –or–

  • A class instance method that is set to run on the server by using the RunOn class property

Examples

This example performs an SQL query on the CustTable table, which runs on the server. The result of the query is stored in the _resultSet object.

The assert method is called to declare that the code can then instantiate the AsciiIo class that is used to read and write data to a file.

server static void main(Args _args) 
{ 
    DictTable  _dictTable; 
    Connection _connection; 
    Statement  _statement; 
    str        _sql; 
    ResultSet  _resultSet; 
    SqlStatementExecutePermission _perm; 
 
    _dictTable = new DictTable(tableNum(CustTable)); 
    if (_dictTable != null) 
        { 
           _connection = new Connection(); 
           _sql = strfmt( "SELECT * FROM %1", _dictTable.name(DbBackend::Sql) ); 
           _perm = new SqlStatementExecutePermission(_sql); 
           // Check for permission to use the _statement. 
           _perm.assert(); 
           _statement = _connection.createStatement(); 
           _resultSet = _statement.executeQuery(_sql); 
           // End the scope of the assert call. 
           CodeAccessPermission::revertAssert(); 
        } 
}

Inheritance Hierarchy

Object Class
  CodeAccessPermission Class
    SqlStatementExecutePermission Class

See Also

CodeAccessPermission Class

How to: Secure an API on the AOS

Secured APIs