通过链接服务器在 SQL 服务器中导入 OLAP 元数据导致日期超出范围
Importing OLAP metadata in SQL Server via linked server results in out-of-range date
目前,我正在尝试使用以下简单查询从 SQL 服务器(通过链接服务器)中的 OLAP 多维数据集提取元数据:
select *
into [dbo].[columns_metadata]
from openquery([LINKED_SERVER], '
select *
from $System.TMSCHEMA_COLUMNS
')
但在结果集中,有一个名为 RefreshedTime 的列,其值为 31.12.1699 00:00:00。
由于这个值,查询给出了这个错误信息:
Msg 8114, Level 16, State 9, Line 1 Error converting data type (null)
to datetime.
问题是我需要运行查询而不在SELECT语句中指定列。
你知道避免这个错误的技巧吗?
我知道你不想明确提及这些列,但如果没有人能建议一种方法让它处理 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
')
目前,我正在尝试使用以下简单查询从 SQL 服务器(通过链接服务器)中的 OLAP 多维数据集提取元数据:
select *
into [dbo].[columns_metadata]
from openquery([LINKED_SERVER], '
select *
from $System.TMSCHEMA_COLUMNS
')
但在结果集中,有一个名为 RefreshedTime 的列,其值为 31.12.1699 00:00:00。
由于这个值,查询给出了这个错误信息:
Msg 8114, Level 16, State 9, Line 1 Error converting data type (null) to datetime.
问题是我需要运行查询而不在SELECT语句中指定列。
你知道避免这个错误的技巧吗?
我知道你不想明确提及这些列,但如果没有人能建议一种方法让它处理 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
')