Dışarıya aktar (0) Yazdır
Tümünü Genişlet
EN
Bu içerik dilinizde bulunmamaktadır ancak İngilizce sürümüne buradan bakabilirsiniz.

RDL Sandboxing in Azure SQL Reporting

Updated: May 9, 2014

ImportantImportant
SQL Reporting will discontinue service on October 31, 2014. See this FAQ for details. For reporting on Microsoft Azure, visit Virtual Machines on WindowsAzure.com.

TipTip
Having trouble viewing this topic in the Azure library? Try viewing it in the MSDN library.

SQL Reporting places the report RDLs (Report Definition Language) in a RDL Sandbox. The Sandbox helps prevent the accidental or intentional misuse of SQL Reporting resources. Because of the Sandbox, some reports that work with on-premises installation of Reporting Services will need to be modified to work when published to SQL Reporting. For more information about RDL Sandboxing in Reporting Services, see Enabling and Disabling RDL Sandboxing (http://go.microsoft.com/fwlink/?LinkId=246819).

noteNote
When the SQL Reporting Sandbox prevents a report from running, an error similar to the following is shown:

“The report server has RDLSandboxing enabled and the Value expression for the text box 'Text70' contains a reference to a type, namespace, or member 'StrDup' that is not allowed. Change the expression to include only allowed namespaces, types, and members. Tracing ID is: 2e4b2616-f194-4f0f-a856-6e4fbab75971.”

Since RDL Sandboxing is enabled for reports running on SQL Reporting, Custom code in the <Code> element of a report definition is disabled.

In This Topic

Error Codes

SQL Reporting returns the below error codes for errors related to RDL Sandboxing:

 

Error Code Description

rsSandboxingCustomCodeNotAllowed

Indicates that the custom code is not allowed in the <Code> element of a report definition.

rsSandboxingExpressionExceedsMaximumLength

The expression text used in report definition exceeds the allowed number of characters.

rsSandboxingStringResultExceedsMaximumLength

The string returned by the expression or an expression parameter exceeds the maximum character limit. To resolve this issue, change the expression to return a string that is less than or equal to maximum character length allowed.

rsSandboxingArrayResultExceedsMaximumLength

The array returned by the expression or an expression parameter exceeds the maximum item limit. To resolve this, change the expression to return an array that is less than or equal to item limit.

rsSandboxingInvalidExpression

The expression contains a syntax error. To resolve this change the expression to use valid RDL expression syntax.

rsSandboxingInvalidNewType

The expression contains the New operator. The New operator may only be used with allowed types and cannot be used to create arrays.

rsSandboxingInvalidClassName

The <Classes> element of the report definition contains a type name that is invalid or refers to a type with a restricted new operator. To resolve this, verify that the type name is invalid and refers to an allowed type.

rsSandboxingInvalidCodeModule

An RDL contains an assembly reference (i.e. code module) that couldn’t be loaded while publishing. In SQL Reporting, the issue happens when an RDL refers to a code module that isn’t part of the .NET framework because SQL Reporting doesn’t support registering custom assemblies.

Expression Limits

The following table provides information about the limits that apply on the expressions that can be used in a report in SQL Reporting:

 

Limit Value Description

MaxExpressionLength

50000 characters[1]

Any expression contained in the RDL cannot exceed MaxExpressionLength in length.

MaxResourceSize

500 KB

Any Resource (e.g. image file) loaded within the RDL cannot have a binary length greater than MaxResourceSize.

MaxStringResultLength

10000 characters[1]

Any individual string value (e.g. Label for a Text box, static string used in an expression) cannot exceed MaxStringResultLength.

MaxArrayResultLength

1048576

Any Array constructed or used within an RDL cannot have more than MaxArrayResultLength.

This limits the number of slots in an array (i.e. the size of the array itself).

[1]Based on .NET Framework char structure. For more information see System.Char (http://go.microsoft.com/fwlink/?LinkId=246820).

Namespaces and Objects

Expressions in a report definition can use CLR types from within the expression language. The Sandbox places limits on which namesapces, objects, and method names are allowed in expressions in SQL Reporting. Some method names are explicitly denied (see below). Denied rules take precedence over Allowed rules.

The following list provides the list of namespaces, and other types that are allowed. Note that the some methods/classes within a namespace or object may still be denied based on the deny rules provided below.

Allowed Namespaces

 

Microsoft.VisualBasic

Microsoft.SqlServer.Types

Allowed Classes

 

System.AccessViolationException

System.Environment

System.Nullable

System.ActivationContext

System.EventArgs

System.NullReferenceException

System.AppDomainSetup

System.Exception

System.Object

System.AppDomainUnloadedException

System.ExecutionEngineException

System.ObjectDisposedException

System.AppDomainManager

System.FieldAccessException

System.ObsoleteAttribute

System.ApplicationException

System.FileStyleUriParser

System.OperatingSystem

System.ApplicationId

System.FlagsAttribute

System.OperationCanceledException

System.ApplicationIdentity

System.FormatException

System.OutOfMemoryException

System.ArgumentException

System.FtpStyleUriParser

System.OverflowException

System.ArgumentNullException

System.GenericUriParser

System.ParamArrayAttribute

System.ArgumentOutOfRangeException

System.GopherStyleUriParser

System.PlatformNotSupportedException

System.ArithmeticException

System.HttpStyleUriParser

System.Random

System.Array

System.IndexOutOfRangeException

System.RankException

System.ArrayTypeMismatchException

System.InsufficientMemoryException

System.ResolveEventArgs

System.AssemblyLoadEventArgs

System.InvalidCastException

System.SerializableAttribute

System.Attribute

System.InvalidOperationException

System.StackOverflowException

System.AttributeUsageAttribute

System.InvalidProgramException

System.STAThreadAttribute

System.BadImageFormatException

System.LdapStyleUriParser

System.String

System.BitConverter

System.LoaderOptimizationAttribute

System.StringComparer

System.Buffer

System.LocalDataStoreSlot

System.SystemException

System.CannotUnloadAppDomainException

System.MarshalByRefObject

System.ThreadStaticAttribute

System.CharEnumerator

System.Math

System.TimeoutException

System.CLSCompliantAttribute

System.MemberAccessException

System.TimeZone

System.Console

System.MethodAccessException

System.Type

System.ConsoleCancelEventArgs

System.MissingFieldException

System.TypeInitializationException

System.ContextBoundObject

System.MissingMemberException

System.TypeLoadException

System.ContextMarshalException

System.MissingMethodException

System.TypeUnloadedException

System.ContextStaticAttribute

System.MTAThreadAttribute

System.UnauthorizedAccessException

System.Convert

System.MulticastDelegate

System.UnhandledExceptionEventArgs

System.DataMisalignedException

System.MulticastNotSupportedException

System.Uri

System.DBNull

System.NetPipeStyleUriParser

System.UriBuilder

System.Delegate

System.NetTcpStyleUriParser

System.UriFormatException

System.DivideByZeroException

System.NewsStyleUriParser

System.UriParser

System.DllNotFoundException

System.NonSerializedAttribute

System.UriTypeConverter

System.DuplicateWaitObjectException

System.NotFiniteNumberException

System.ValueType

System.EntryPointNotFoundException

System.NotImplementedException

System.Version

System.Enum

System.NotSupportedException

System.WeakReference

Allowed Structures

 

System.ArgIterator

System.Int16

System.Single

System.Boolean

System.Int32

System.TimeSpan

System.Byte

System.Int64

System.TypedReference

System.Char

System.IntPtr

System.UInt16

System.ConsoleKeyInfo

System.ModuleHandle

System.UInt32

System.DateTime

System.RuntimeArgumentHandle

System.UInt64

System.DateTimeOffset

System.RuntimeFieldHandle

System.UIntPtr

System.Decimal

System.RuntimeMethodHandle

System.Void

System.Double

System.RuntimeTypeHandle

System.Guid

System.SByte

Allowed Interfaces

 

System.IAppDomainSetup

System.IAsyncResult

System.ICloneable

System.IComparable

System.IConvertible

System.ICustomFormatter

System.IDisposable

System.IFormatProvider

System.IFormattable

System.IServiceProvider

Allowed Delegates

 

System.AppDomainInitializer

System.AssemblyLoadEventHandler

System.AsyncCallback

System.ConsoleCancelEventHandler

System.CrossAppDomainDelegate

System.EventHandler

System.ResolveEventHandler

System.UnhandledExceptionEventHandler

Allowed Enumerations

 

System.ActivationContext.ContextForm

System.DayOfWeek

System.StringComparison

System.AppDomainManagerInitializationOptions

System.Environment.SpecialFolder

System.StringSplitOptions

System.AttributeTargets

System.EnvironmentVariableTarget

System.TypeCode

System.Base64FormattingOptions

System.GCCollectionMode

System.UriComponents

System.ConsoleColor

System.GCNotificationStatus

System.UriFormat

System.ConsoleKey

System.GenericUriParserOptions

System.UriHostNameType

System.ConsoleModifiers

System.LoaderOptimization

System.UriIdnScope

System.ConsoleSpecialKey

System.MidpointRounding

System.UriKind

System.DateTimeKind

System.PlatformID

System.UriPartial

Common Denied Members

The following table provides a list of member names that are denied (cannot be run) in the SQL Reporting environments. The prohibition on members names applies to all Namespaces and objects allowed by the Sandbox.

For example: a member named “Format” is denied. This means that String.Format() method cannot be called in an expression in an RDL report published to SQL Reporting.

 

Format

StrDup

Intern

CreateInstance

See Also

Topluluk İçeriği

Ekle
Show:
© 2014 Microsoft