导出 (0) 打印
全部展开

Azure SQL Reporting 中的 RDL 沙盒

更新时间: 2014年5月

Important重要提示

Tip提示
Azure 库中查看此主题有困难?请尝试在 MSDN 库中查看它。

将报表 RDL(报表定义语言)放在 RDL 沙盒中。沙盒有助于防止意外或故意误用 资源。由于沙盒的存在,使用本地安装的 的一些报表在发布到 时需要修改才能运行。有关 中的 RDL 沙盒的详细信息,请参阅启用和禁用 RDL 沙盒 (http://go.microsoft.com/fwlink/?LinkId=246819)。

note备注
当 沙盒阻止报表运行时,会显示类似以下内容的错误:

“该报表服务器启用了 RDLSandboxing,并且文本框‘Text70’的值表达式包含对不允许的类型、命名空间或成员‘StrDup’的引用。请更改该表达式以便只包括允许的命名空间、类型和成员。跟踪 ID 为: 2e4b2616-f194-4f0f-a856-6e4fbab75971。”

由于为运行在 上的报表启用了 RDL 沙盒,将禁用报表定义的 <Code> 元素中的自定义代码。

为与 RDL 沙盒相关的错误返回以下错误代码:

 

错误代码 说明

rsSandboxingCustomCodeNotAllowed

指示报表定义的 <Code> 元素中不允许自定义代码。

rsSandboxingExpressionExceedsMaximumLength

报表定义中使用的表达式文本超出了允许的字符数。

rsSandboxingStringResultExceedsMaximumLength

表达式或表达式参数返回的字符串超出了最大字符限制。若要解决此问题,请更改表达式以返回少于或等于允许的最大字符长度的字符串。

rsSandboxingArrayResultExceedsMaximumLength

表达式或表达式参数返回的数组超出了最大项限制。若要解决此问题,请更改表达式以返回少于或等于项上限的数组。

rsSandboxingInvalidExpression

表达式包含语法错误。若要解决此问题,请更改表达式以使用有效的 RDL 表达式语法。

rsSandboxingInvalidNewType

表达式包含 New 运算符。New 运算符只能用于允许的类型,不能用于创建数组。

rsSandboxingInvalidClassName

报表定义的 <Classes> 元素包含的类型名称无效或引用具有受限制的 New 运算符的类型。若要解决此问题,请验证类型名称是否无效,是否引用允许的类型。

rsSandboxingInvalidCodeModule

RDL 包含无法在发布时加载的程序集引用(即,代码模块)。在 中,当 RDL 引用不属于 .NET Framework 的一部分的代码模块时,会出现此问题,因为 不支持注册自定义程序集。

下表介绍了 中的报表内可以使用的表达式存在的限制:

 

限制 说明

MaxExpressionLength

50000 个字符[1]

RDL 中包含的任何表达式的长度均不能超过 MaxExpressionLength。

MaxResourceSize

500 KB

RDL 中加载的任何资源(例如,图像文件)的二进制长度不能大于 MaxResourceSize。

MaxStringResultLength

10000 个字符[1]

任何单个字符串值(例如,文本框的标签、表达式中使用的静态字符串)不能超过 MaxStringResultLength。

MaxArrayResultLength

1048576

RDL 中构造或使用的任何数组不能超过 MaxArrayResultLength。

这限制数组中的槽数(即,数组本身的大小)。

[1]基于 .NET Framework 字符结构。有关详细信息,请参阅 System.Char (http://go.microsoft.com/fwlink/?LinkId=246820)。

报表定义中的表达式可以使用表达式语言中的 CLR 类型。沙盒限制 中的表达式中允许哪些命名空间、对象和方法名称。会明确拒绝一些方法名称(参见下文)。拒绝规则优先于允许规则。

以下列表提供了允许的命名空间及其他类型的列表。请注意,根据下面提供的拒绝规则,可能仍会拒绝命名空间或对象中的一些方法/类。

 

Microsoft.VisualBasic

Microsoft.SqlServer.Types

 

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

 

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

 

System.IAppDomainSetup

System.IAsyncResult

System.ICloneable

System.IComparable

System.IConvertible

System.ICustomFormatter

System.IDisposable

System.IFormatProvider

System.IFormattable

System.IServiceProvider

 

System.AppDomainInitializer

System.AssemblyLoadEventHandler

System.AsyncCallback

System.ConsoleCancelEventHandler

System.CrossAppDomainDelegate

System.EventHandler

System.ResolveEventHandler

System.UnhandledExceptionEventHandler

 

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

下表提供了 环境中拒绝(无法运行)的成员名称的列表。对成员名称的禁止适用于沙盒允许的所有命名空间和对象。

例如:拒绝名为“Format”的成员。这意味着无法在发布到 的 RDL 报表中的表达式中调用 String.Format() 方法。

 

格式

StrDup

Intern

CreateInstance

另请参阅

显示:
© 2014 Microsoft