创建和使用基于 Teradata 的报表模型
新建日期: 2008 年 11 月 17 日
在 SharePoint 集成模式下运行时,您可以使用模型设计器、报表管理器或 Microsoft Office SharePoint Server 2007 生成基于运行版本 12.00 或版本 6.20 的 Teradata 数据库的报表模型。
注意: |
---|
在基于 Teradata 数据库创建模型之前,系统管理员必须在报表服务器和报表创作客户端上安装有 .NET Framework Data Provider for Teradata 12.00.00.01 版本。有关详细信息,请参阅为基于 Teradata 的报表模型配置 Reporting Services。 |
连接字符串
若要连接到 Teradata 数据库,必须生成或指定一个标识数据库、数据库服务器和凭据的连接字符串。此外,建议您指定一个架构。如果未指定架构,将检索您在数据源上拥有权限的所有架构。有关详细信息,请参阅如何为报表模型项目创建 Teradata 数据源文件。
版本支持
若要从 Teradata 数据库创建模型,必须使用 .NET Framework Data Provider for Teradata 12.00.00.01 版本的正确版本。此数据访问接口支持运行 12.0 和 6.20 版本的 Teradata 数据库,可从 Teradata Corporation 直接获得。与系统管理员一起验证报表创作计算机和报表服务器上安装并配置了正确版本。有关详细信息,请参阅 Reporting Services 支持的数据源。
功能限制
由于 Teradata 数据访问接口的基础行为,从 Teradata 数据库生成模型与从其他数据源类型生成模型不同,如下所述:
- 主键。 数据源视图向导不会检测 Teradata 数据库的主键。生成报表模型时需要使用主键。必须在 Business Intelligence Development Studio 的报表模型项目中使用**“数据源视图“**菜单,才能定义可用于生成模型的逻辑主键。有关详细信息,请参阅如何从 Teradata 数据库创建包含主键的报表模型。
如果需要手动定义逻辑键的表或对象过多,则可以在报表服务器上创建一个具有数据源视图的模型。在报表服务器上生成的模型会包含包括主键的数据源视图。在报表服务器上创建该模型后,可以将它下载到报表创作客户端,然后将它导入报表模型项目。将该模型添加为现有项后,该数据源视图将显示在“数据源视图”文件夹下。 - 语义模型定义语言 (SMDL) 查询转换器。 SMDL 查询转换器与 Teradata 数据库一起使用时,行为会有一些不同之处。这些行为可包括功能和配置开关(需要用配置开关控制用于解决目标数据库中的 Bug 和设计限制的方法)方面的微小差异。
以下部分介绍这些差异。
数据类型
SMDL 仅支持以下 Teradata 数据类型。
SMDL 类型 | Teradata 类型 |
---|---|
String |
CHAR、CHARACTER、CHAR VARYING、CHARACTER VARYING、CHARACTER LARGE OBJECT、CLOB、GRAPHIC、INTERVAL DAY、INTERVAL DAY TO HOUR、INTERVAL DAY TO MINUTE、INTERVAL DAY TO SECOND、INTERVAL HOUR、INTERVAL HOUR TO MINUTE、INTERVAL HOUR TO SECOND、INTERVAL MINUTE、INTERVAL MINUTE TO SECOND、INTERVAL MONTH、INTERVAL SECOND、INTERVAL YEAR、INTERVAL YEAR TO MONTH、LONG VARCHAR、LONG VARGRAPHIC、VARCHAR、VARGRAPHIC |
Int16 |
SMALLINT |
Int32 |
INT、INTEGER |
Int64 |
BIGINT |
Decimal |
DEC、DECIMAL、NUMERIC |
Double |
DOUBLE PRECISION、FLOAT、REAL |
Binary |
BINARY LARGE OBJECT、BLOB、VARBYTE |
Byte |
BYTE |
SByte |
BYTEINT |
Date |
DATE |
Time |
TIME |
DateTime |
TIMESTAMP |
对于 Teradata 数据源,SMDL 不支持上面未列出的任何数据类型,其中包括:
- TIME WITH TIME ZONE
- TIMESTAMP WITH TIME ZONE
- 某些 USER DEFINED TYPE 数据类型 (UDT)
- 不能用 CLR Decimal 数据类型表示精度超过 29 位数的 DECIMAL。例如,数据源中某个字段的精度可能为 38 位数。在运行时检索数据可能会导致数据访问接口中引发异常,具体取决于数据的精度和小数位数。有关详细信息,请参阅 Teradata 的 .NET Framework 数据访问接口文档。
使用报表管理器或 Office SharePoint Server 自动生成报表模型时,将排除包含不受支持的数据类型的列。此外,如果不受支持的数据类型属于主键的一部分,则将不生成整个实体。
使用模型设计器创建报表模型时,所有内容都将添加到该报表模型中。因此,在简化模型时,您必须手动筛选出上面列出的所有不受支持的数据类型。
函数
某些函数的行为可能取决于基础数据库。如果为 Left、Right 或 Substring 函数的长度参数指定的值小于零,则 SMQL 中未定义这种行为。
默认值
Teradata 使用以下默认值:
字符串文字来自 Unicode 字符集。
Date 数据类型支持年、日和月,还包括以小时、分钟和秒为单位的时间。
配置开关
由于基础数据源的原因,有很多配置开关可用于基于数据源和环境的特定情况来修改查询转换器的行为。RSReportServer.config 文件中定义了以下开关,该文件默认安装在 <系统驱动器>:\Program Files\Microsoft SQL Server\MRRS10.MSSQLSERVER\Reporting Services\ReportServer\ 文件夹中。
名称 | 类型 | 定义默认值 | 说明 |
---|---|---|---|
EnableMath OpCasting |
Boolean |
False |
此开关可将数学运算结果转换为 Microsoft .NET Framework 十进制格式。 查询中的某些数学运算可能会得到小数值,并且其精度和小数位数组合无法表示为 .NET Framework 小数数据类型。虽然您可以将此类十进制表达式的结果显式转换为十进制格式,但您的用户可能并不知道在设计时必须进行此操作。如果需要频繁创建此类表达式,则可以将此开关设置为 True,从而自动执行所需转换。 |
请参阅
概念
使用模型设计器
Reporting Services 支持的数据源
连接数据源
RSReportServer 配置文件