通过链接服务器在SQL Server中导入OLAP元数据会导致超出范围的日期

问题描述 投票:0回答:1

当前,我正在尝试使用此简单查询从SQL Server(通过链接服务器)的OLAP多维数据集中提取元数据:

select *
into [dbo].[columns_metadata]
from openquery([LINKED_SERVER], '
    select *
    from $System.TMSCHEMA_COLUMNS
')

但是在结果集中,有一列名为RefreshedTime的值为31.12.1699 00:00:00。

由于此值,查询给出此错误消息:

消息8114,级别16,状态9,第1行,转换数据类型时出错(空)到日期时间。

问题是我需要运行查询[[without,指定SELECT语句中的列。

您知道避免这种错误的技巧吗?

感谢您的帮助。

最好的问候,马可]

[当前,我正在尝试使用此简单查询从SQL Server(通过链接服务器)中的OLAP多维数据集中提取元数据:选择*到[dbo]。[columns_metadata]来自openquery([LINKED_SERVER],'...] >

sql sql-server ssas olap-cube ssas-tabular
1个回答
1
投票
我知道您不想不必明确提及这些列,但是如果没有人可以提出一种方法来处理1699-12-31日期,那么您可以回退到此:

select * into [dbo].[columns_metadata] from openquery([LINKED_SERVER], ' SELECT [ID] ,[TableID] ,[ExplicitName] ,[InferredName] ,[ExplicitDataType] ,[InferredDataType] ,[DataCategory] ,[Description] ,[IsHidden] ,[State] ,[IsUnique] ,[IsKey] ,[IsNullable] ,[Alignment] ,[TableDetailPosition] ,[IsDefaultLabel] ,[IsDefaultImage] ,[SummarizeBy] ,[ColumnStorageID] ,[Type] ,[SourceColumn] ,[ColumnOriginID] ,[Expression] ,[FormatString] ,[IsAvailableInMDX] ,[SortByColumnID] ,[AttributeHierarchyID] ,[ModifiedTime] ,[StructureModifiedTime] ,CStr([RefreshedTime]) as [RefreshedTime] ,[SystemFlags] ,[KeepUniqueRows] ,[DisplayOrdinal] ,[ErrorMessage] ,[SourceProviderType] ,[DisplayFolder] from $System.TMSCHEMA_COLUMNS ')

© www.soinside.com 2019 - 2024. All rights reserved.