Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
In Microsoft Dataverse, classic reports run in the sandbox mode. This is done by enabling Report Definition Language (RDL) Sandboxing in SQL Server Reporting Services. The RDL Sandboxing lets you detect and restrict the usage of specific types of resources. As a result, certain features in Power Apps model-driven apps might not be available.
The following sections describe the RDL sandboxing settings and external image requirements for reports hosted in Dataverse.
Limits of the array result length and string result length
The maximum number of items allowed in an array return value for an RDL expression is 2,048,000. The maximum number of items allowed in a string return value for an RDL expression is 2,048,000. This enables you to include images and logos with sizes up to 1,500 KB, which are stored in a database with Base64 encoding.
The MaxResourceSize is set to 2,000. This lets you include external images in a report up to 1,500 KB in size. More information: TechNet: Add an External Image (Report Builder and SSRS)
External image requirements
For SSRS reports hosted in Microsoft Dataverse, including Dynamics 365 Online, images with their source set to External must use URLs that support anonymous access. This is a requirement of the Dataverse-hosted report service, not a general requirement for all SSRS deployments.
URLs that require authentication aren't supported as external images. The report renderer doesn't inherit your browser's authenticated session, so an image that opens in your browser might not render in a report or its exported output.
For images that must remain access-controlled, consider embedded images or data-bound images instead of making private images publicly accessible. Data-bound images retrieve image data through the report dataset; storing only an image URL in a Dataverse column doesn't make the image data-bound.
Allowed types and denied members
The RDL Sandboxing feature enables you to create a list of approved types and a list of denied members. The list of approved types is called an allowlist. The list of denied members that aren't permitted in the RDL expressions is called a blocklist.
The following table contains a list of allowed types and denied members available in sandbox mode in Dataverse.
| Allowed Types | Denied Members |
|---|---|
System.Array |
CreateInstance |
| Finalize | |
| GetType | |
| MemberwiseClone | |
| Resize | |
System.DateTime |
FromBinary |
| GetDateTimeFormats | |
| GreaterThan | |
| GreaterThanOrEqual | |
System.Object |
GetType |
| MemberwiseClone | |
| ReferenceEquals | |
System.DbNull |
Finalize |
| MemberwiseClone | |
| GetObjectData | |
| GetTypeCode | |
System.Math |
BigMul |
| DivRem | |
| IEEERemainder | |
| E | |
| PI | |
| Pow | |
System.String |
|
System.TimeSpan |
Hours |
| TicksPerDay | |
| TicksPerHour | |
| TicksPerMillisecond | |
| TicksPerMinute | |
| TicksPerSecond | |
| Zero | |
| TryParse | |
| TryParseExact | |
System.Convert |
ChangeType |
| IConvertible.ToBoolean | |
| IConvertible.ToByte | |
| IConvertible.ToChar | |
| IConvertible.ToDateTime | |
| IConvertible.ToDecimal | |
| IConvertible.ToDouble | |
| IConvertible.ToInt16 | |
| IConvertible.ToInt32 | |
| IConvertible.ToInt64 | |
| IConvertible.ToSByte | |
| IConvertible.ToSingle | |
| IConvertible.ToType | |
| IConvertible.ToUInt16 | |
| IConvertible.ToUInt32 | |
| IConvertible.ToUInt64 | |
System.StringComparer |
Create |
| Finalize | |
System.TimeZone |
Finalize |
| GetType | |
| MemberwiseClone | |
System.TimeZoneInfo |
FromSerializedString |
| ToSerializedString | |
System.Uri |
Unescape |
| Parse | |
| Escape | |
| Finalize | |
System.UriBuilder |
Finalize |
System.Globalization.CultureInfo |
ClearCachedData |
System.Text.RegularExpressions.Match |
Empty |
| NextMatch | |
| Result | |
| Synchronized | |
System.Text.RegularExpressions.Regex |
CacheSize |
| CompileToAssembly | |
| GetGroupNames | |
| GetGroupNumbers | |
| GetHashCode | |
| Unescape | |
| UseOptionC | |
| UseOptionR | |
| capnames | |
| caps | |
| capsize | |
| capslist | |
| roptions | |
| pattern | |
| factory | |
| IsMatch | |
| Matches | |
| Iserializable.GetObjectData | |
| InitializeReferences | |
| RightToLeft | |
| Options | |
Microsoft.VisualBasic.Constants |
vbAbort |
| vbAbortRetryIgnore | |
| vbApplicationModal | |
| vbArchive | |
| vbBinaryCompare | |
| vbCancel | |
| vbCritical | |
| vbDefaultButton1 | |
| vbDefaultButton2 | |
| vbDefaultButton3 | |
| vbExclamation | |
| vbFormFeed | |
| vbGet | |
| vbHidden | |
| vbHide | |
| vbHiragana | |
| vbIgnore | |
| vbInformation | |
| vbKatakana | |
| vbLet | |
| vbLinguisticCasing | |
| vbMaximizedFocus | |
| vbMinimizedFocus | |
| vbMinimizedNoFocus | |
| vbMsgBoxHelp | |
| vbMsgBoxRight | |
| vbMsgBoxRtlReading | |
| vbMsgBoxSetForeground | |
| vbNo | |
| vbNormal | |
| vbNormalFocus | |
| vbNormalNoFocus | |
| vbObjectError | |
| vbOK | |
| vbOKCancel | |
| vbOKOnly | |
| vbQuestion | |
| vbReadOnly | |
| vbRetry | |
| vbRetryCancel | |
| vbSet | |
| vbSystem | |
| vbSystemModal | |
| VbTypeName | |
| vbVolume | |
| Zero | |
Microsoft.VisualBasic.ControlChars |
Finalize |
| GetType | |
| MemberwiseClone | |
Microsoft.VisualBasic.Conversion |
Err |
| ErrorToString | |
| Fix | |
Microsoft.VisualBasic.DateInterval |
Finalize |
| GetType | |
| MemberwiseClone | |
Microsoft.VisualBasic.Financial |
Finalize |
| GetType | |
| MemberwiseClone | |
| IRR | |
| NPV | |
| MIRR | |
Microsoft.VisualBasic.Interaction |
AppActivate |
| Beep | |
| CallByName | |
| Command | |
| CreateObject | |
| Environ | |
| Finalize | |
| GetAllSettings | |
| GetObject | |
| GetSetting | |
| GetType | |
| InputBox | |
| MemberwiseClone | |
| MsgBox | |
| SaveSetting | |
| Shell | |
| Choose | |
| Switch | |
Microsoft.VisualBasic.Information |
Erl |
| Err | |
| IsError | |
| IsDBNull | |
| Lbound | |
| Ubound | |
| SystemTypeName | |
Microsoft.VisualBasic.Strings |
Finalize |
| GetType | |
| MemberwiseClone | |
| Lset | |
| Rset | |
Microsoft.Crm.Reporting.RdlHelper |
Common denied members
The following table contains a list of denied members common in allowed types:
| Denied member |
|---|
| DateString |
| Duration |
| Equality |
| Equals |
| Erl |
| Filter |
| GetChar |
| GroupNameFromNumber |
| GroupNumberFromName |
| Int |
| MaxValue |
| MinValue |
| Negate |
| Timer |
| TimeString |
| ToBinary |
| Finalize |
| GetType |
| MemberwiseClone |