【问题标题】:Importing OLAP metadata in SQL Server via linked server results in out-of-range date通过链接服务器在 SQL Server 中导入 OLAP 元数据会导致日期超出范围
【发布时间】:2019-11-29 16:40:39
【问题描述】:

目前,我正在尝试使用以下简单查询从 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 行错误转换数据类型(空) 到日期时间。

问题是我需要运行查询而不指定 SELECT 语句中的列。

你知道避免这个错误的技巧吗?

【问题讨论】:

    标签: sql sql-server ssas olap-cube ssas-tabular


    【解决方案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
    ')
    

    【讨论】:

    • 好的,谢谢,但也许您知道在 SSAS 服务器上更改此系统设置的方法吗?前任。 1699-12-31 至 1900-01-01
    • 或者你知道一个查询来检索 DMV $System.TMSCHEMA_COLUMNS 的列列表吗?
    • 也许在 1=0 的地方做一个选择?那么你应该有列列表和数据类型,但没有行
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-05
    • 1970-01-01
    相关资源
    最近更新 更多