这是本节的多页打印视图。 点击此处打印.

返回本页常规视图.

适用于 Windows 的 Microsoft Connectivity Pack

适用于 Windows 的 Vertica Microsoft Connectivity Pack 提供了一个用于访问 Microsoft Business Intelligence 工具的配置文件。Connectivity Pack 作为 Windows 客户端驱动程序和工具的一部分安装。

有关 Microsoft Connectivity Pack 中包含的组件的详细信息,请参阅 Microsoft 组件

1 - Microsoft 组件

本节介绍可与 Microsoft Visual Studio 和 Microsoft SQL Server 结合使用的 Microsoft Business Intelligence 组件。配置后,您可以使用这些 Microsoft 组件来开发使用 Vertica 服务器的业务解决方案。

1.1 - Microsoft 组件配置

使用 Vertica ADO.NET 驱动程序、Visual Studio 插件和 OLE DB 驱动程序,您可以将 Vertica 服务器与包含先前已安装在系统上的 Microsoft 组件的环境集成。还有其他工具可用于与 Microsoft SQL Server 集成。

可用的驱动程序提供了与以下 Microsoft 组件的集成:

  • 适用于 Visual Studio 2008 的 Business Intelligence Development Studio (BIDS),与 SQL Server 2012 结合使用。BIDS 是一个基于客户端的应用程序,用于开发基于 Microsoft Visual Studio 开发环境的商业智能解决方案。此应用程序包含其他特定于 SQL Server Business Intelligence 的项目类型。作为开发人员,您可以使用 BIDS 开发业务解决方案。

  • 适用于 Visual Studio 2008/2010/2012/2013/2015 的 SQL Server Data Tools - Business Intelligence (SSDT-BI),与 SQL Server 2012、SQL Server 2014 和 SQL Server 2016 结合使用。SSDT-BI 取代适用于 Visual Studio 2008、Visual Studio 2010、Visual Studio 2012、Visual Studio 2013 和 Visual Studio 2015 的 BIDS。此组件的用途与 BIDS 相同,即提供用于开发商业智能解决方案的开发环境。

  • 适用于 SQL Server 2012、SQL Server 2014 和 SQL Server 2016 的 SQL Server Analysis Services (SSAS)。可以使用 SSAS 进行 OLAP 和数据挖掘,同时使用 Vertica 作为多维数据集创建的源。

  • 适用于 SQL Server 2012、SQL Server 2014 和 SQL Server 2016 的 SQL Server Integration Services (SSIS)。SSIS 提供了 SQL Server 类型映射,用于在 Vertica 和 SQL Server 之间映射数据类型。可以将 SSIS 用于数据迁移、数据集成和工作流以及 ETL。

下图显示了 Microsoft 组件和 Vertica 依赖项之间的关系。

1.2 - BIDS 和 SSDT-BI

Microsoft Visual Studio 2008 中提供 Business Intelligence Development Studio (BIDS) 和其他特定于 SQL Server Business Intelligence 的项目类型。BIDS 是用于开发包括分析服务、集成服务和报告服务项目在内的业务解决方案的主要环境。

SQL Server Data Tools - Business Intelligence (SSDT-BI) 取代适用于 Visual Studio 2010、2012、2013 和 2015 的 BIDS。此组件的用途与 BIDS 相同,即提供用于开发业务解决方案的开发环境。

BIDS 和 SSDT-BI 都是基于客户端的应用程序,并且都包含其他特定于 SQL Server Business Intelligence 的项目类型。

可以使用 Visual Studio Shell 集成插件从 Visual Studio Server Explorer 中浏览数据库。使用此功能,您可以在 BIDS 或 SSDT-BI 开发环境外部工作,以执行诸如列出表或插入数据等任务。在 BIDS 或 SSDT-BI 模式下使用 Visual Studio 时,您可以使用 Vertica 数据库中的数据开发业务解决方案。例如,您可以创建多维数据集或打开表。

Microsoft 不支持以下配置:

  • 不能将 Microsoft Visual Studio 2008 与 BIDS 开发环境结合使用以创建 SQL Server 2012 Business Intelligence 解决方案。

  • 不能将 Microsoft Visual Studio 2010/2012/2013/2015 与 SSDT-BI 开发环境结合使用以创建 SQL Server 2008 Business Intelligence 解决方案。

1.3 - SQL Server Analysis Services (SSAS) 支持

BIDS 或 SSDT-BI 包含 Analysis Services 项目,该项目可用于开发适用于商业智能应用程序的联机分析处理 (Online Analytical Processing, OLAP)。此项目类型包含以下内容的模板:

  • 多维数据集

  • 维度

  • 数据源

  • 数据源视图

它还提供处理这些对象的工具。

可以在 OLE DB 连接属性 中找到 OLE DB 连接属性。

1.4 - SQL Server Integration Services (SSIS) 支持

BIDS 或 SSDT-BI 包含用于开发 ETL 解决方案的 Integration Services 项目。此项目类型包含以下内容的模板:

  • 数据源

  • 数据源视图

它还提供处理这些对象的工具。

通过 SSIS 和导入/导出向导,您可以使用 Vertica 作为数据源和数据目标。必须在集成服务器和 BIDS 工作站或 SSDT-BI 工作站上安装特定于 Vertica 的映射文件才能启用此功能。适用于 Windows 的 Vertica 客户端驱动程序和工具将以 32 位和 64 位版本安装这些映射文件作为“SQL Server 类型映射”组件。

1.5 - SQL Server Reporting Services (SSRS) 支持

BIDS 或 SSDT-BI 包含用于开发报表解决方案的报表项目。

可以使用 Vertica 作为 Reporting Services 的数据源。安装程序将实施各种配置文件修改,以在 BIDS 工作站或 SSDT-BI 工作站和 Reporting Services 服务器上启用此功能。

2 - 兼容性问题和限制

本节列出兼容性问题以及将 Microsoft Connectivity Pack 与 Microsoft Visual Studio 和 Microsoft SQL Server 集成的限制。

2.1 - BIDS 和 SSDT-BI 限制

BIDS 和 SSDT-BI 是适用于 Analysis Services、Integration Services 和 Reporting Services 项目的 32 位开发环境。它们并非设计用于在 64 位 Itanium 架构上运行,因此不会安装在 Itanium 服务器上。

2.2 - SSAS 限制

  • 不支持 SSAS 表格模型。

  • 安装 Vertica OLE DB 驱动程序后,如果 SSAS 多维数据集构建失败,请重新启动 SSAS 服务。

2.3 - SSIS 数据类型限制

以下部分介绍了使用 SQL Server Integration Services (SSIS) 时的数据类型限制。

时间数据传输

传输时间数据时,SSIS 使用支持超过六位数精度的 TimeSpan 数据类型。Vertica ADO.NET 驱动程序会将 TimeSpan 转换为最多支持六位数的 Interval 数据类型。传输过程中,Interval 类型不会转换为 TimeSpan 类型。因此,如果时间值的精度超过六位数,则数据会被截断(而不是舍入)。

有关 ADO.NET 数据类型的信息,请参考 ADO.NET 数据类型

DATE 和 DATETIME 精度

为确保正常运行而不发生错误,DATE 和 DATETIME 的范围介于 0001-01-01 00:00:00.0000000 到 9999-12-31 23:59:59.999999 之间。

在 SSIS 中,DATETIME 类型 (DT_TIMESTAMP) 对秒最多支持三个小数位。系统会自动丢弃后面的小数。只能对介于 January 1, 1753 到 December 31, 9999 之间的 DATETIME 值执行派生列转换。

数值精度

允许的最大和最小十进制值为:

  • 最大值: +79,228,162,514,264,337,593,543,950,335

  • 最小值: -79,228,162,514,264,337,593,543,950,335

例如,如果位数是 16,值的范围为:

+/- 7,922,816,251,426.4337593543950335

有效位数范围为小于 29 以及大于 38 的任何数字。使用 29 和 38 之间的小数位数不会生成错误。

请参阅:http://msdn.microsoft.com/en-us/library/system.decimal.maxvalue.aspx

不支持的浮点值

SQL Server 不支持 NaN、Infinity 或 –Infinity 值。使用 SSIS 在 Vertica 实例之间进行传输时,可以使用这些值,但这些值不能用于 SQL Server 目标。

字符串转换

在 SSIS 中使用的 CHAR 和 VARCHAR 数据类型为 DT_WSTR,其最大长度是 4000 个字符。

在 SSIS 中,Vertica 字符串会转换为 SSIS 中的 Unicode 字符串,以处理多语言数据。可以使用数据转换任务将这些字符串转换为 ASCII。

标度

只要所使用的小数位数超过 38,SSIS 就会将其替换为值 4。

区间转换

SSIS 不支持间隔类型。它会将这些类型转换为 TIME,并去除日组件。时间间隔类型超过一天的任何包将返回不正确的结果。

SQL Server 导入和导出向导的数据映射问题

使用 SQL Server 导入和导出向导创建集成服务包 (SSIS) 时,某些数据类型无法自动正确映射。将该向导与以下提供程序结合使用时,将出现映射问题:

  • 适用于 SQL Server 2008 或 SQL Server 2012 的 SQL Server Native OLE DB 提供程序

  • 适用于 SQL Server 2010/2012 的 SQL Server Native Client 10.0/11.0 提供程序

要避免此问题,请使用 BIDS 或 SSDT-BI 手动更改类型映射。

数据传输失败

将集成服务包 (SSIS) 与适用于 SQL Server 2008 或 SQL Server 2012 的 SQL Server OLE DB 提供程序结合使用时,如果是从 Vertica 传输到 SQL Server,则某些数据类型的传输会失败。若要避免此问题,请使用 BIDS 或 SSDT-BI 传输数据。

VARBINARY/LONG VARBINARY 数据类型的批量插入

有时,VARBINARY 或 LONG VARBINARY 数据类型的批量插入的行之一会超过数据类型限制:

  • VARBINARY:65 KB

  • LONG VARBINARY:32 MB

在这种情况下,将拒绝所有行,而非仅拒绝长度超过类型限制的行。批量插入将失败,并显示消息“行被拒绝 (row(s) are rejected)”。

若要避免此问题,请使用谓词从源中筛选出无法适应接收数据库的行。

SQL Server 查询设计器布尔查询

在 SQL Server 查询设计器中发出布尔查询时,必须用引号将布尔列值括起来。否则,您将收到 SQL 执行错误(例如,someboolean = 'true')。

2.4 - SSRS 限制

数据连接向导解决方法

SSRS 报表向导提供一个数据连接向导。选择该向导并输入所有连接信息后,确定 按钮被禁用。您无法保存工作,也无法继续操作。解决方法是不要使用该向导,并改为使用以下面板:

报表向导 - 查询设计器

Vertica 使用报表向导的通用查询设计器。其他数据源使用支持以可视化方式构建查询的图形查询设计器。图形查询设计器是名为 Visual Data Tools (VDT) 的程序包的一部分。图形查询设计器只能与通用 OLE DB 提供程序和内置提供程序配合工作。您不能将其与 Vertica 数据提供程序结合使用。

报表生成器

Report Builder 是一款基于 Web 的报告设计工具。此工具不支持使用自定义数据扩展来创建报表,因此您不能将其与 Vertica 结合使用。使用报表生成器创建报表时,现有 Vertica 数据源会显示在可用数据源的列表中。但是,选择 Vertica 数据源会导致发生错误。

映射 Vertica ** 目标时未自动提供架构名称**

目前,当您映射 Vertica 目标时,不会自动提供架构名称。您必须手动输入架构名称或从下拉菜单中选择架构名称,如下所示: