首页 > 解决方案 > OLE DB 无法将值转换为请求的数据类型

问题描述

以下情况发生在 SQL Server 版(2017 标准版)上,SSAS 版本为 14.0.6.443

处理过程中的错误消息最好地总结了该问题:

后端数据库访问模块中的错误。OLE DB 无法将值转换为列“dbo_Fact_Purchase_Order_Detail0_2”请求的数据类型。

OLAP 存储引擎中的错误:处理来自 SSAS PRD 数据库的“Cube_Name”多维数据集的“供应商交易”度量值组的“事实采购订单详细信息”分区时发生错误。

起初,错误似乎与数据类型有关。不同服务器上的其他 SSAS 实例可以读取数据,而有问题的 SSAS 实例不能。问题似乎出在 SSAS 或 OLE DB 连接器(来自 SSAS)中。

情况

我们正忙于安装新的开发和生产 sql server。ETL(使用 SSIS)已经工作,我们开始处理多维数据集,但进展并不顺利。

在 Visual Studio 中,我们可以将相同的 SSAS 多维数据集项目部署到新旧服务器。旧服务器能够处理多维数据集,但新服务器无法处理多维数据集。底层数据源视图仅在服务器名称上有所不同

在谷歌搜索和测试之后,我们认为/认为问题与排序规则或语言设置有关:因为我们在谷歌上发现了以下可能有用的命中:

我们尝试了以下方法:

我们预计多维数据集应该能够成功处理,因为我们具有与数据源视图相同的数据库结构,并且我们无法发现新旧服务器之间的一般属性和连接属性有任何区别。

标签: sql-serverssmsssascube

解决方案


推荐阅读