首页 文章

ADLA错误预览外部表到SQL Azure

提问于
浏览
1

我在SQL Azure中有一个表,我正在尝试在Azure Data Lake Analytics中创建一个指向它的外部表

我创建了一个凭据和数据源,我可以确认它们是否有效,因为我可以查看其他外部表 . 但是,当我尝试预览此特定表时,我收到以下错误:

Failed to connect to data source: 'MYDATASOURCE', with error(s): 'Incorrect syntax near the keyword 'SELECT'.
Incorrect syntax near ')'.'
CQO: Internal Error - Optimizer internal error.  Assert: csExtRowsetInfoNew != nullptr in managed\scopecqo.cpp:2235

知道是什么导致了这个问题吗?它与表模式有关吗?

SQL Azure表架构:

[rel].[TABLE1NAME](
[FSCServiceRequestId] [int] IDENTITY(1,1) NOT NULL,
[ServiceRequestCRMId] [uniqueidentifier] NOT NULL,
[TicketNumberTitle] [nvarchar](100) NOT NULL,
[ProblemDescription] [nvarchar](max) NULL,
[FSCServiceRequestStatusId] [int] NOT NULL,
[FSCServiceRequestPriorityId] [int] NOT NULL,
[PriorityOverrideReason] [nvarchar](1000) NULL,
[RequestorPhoneNumber] [nvarchar](100) NULL,
[FSCProblemRoomNumber] [varchar](200) NULL,
[BuildingId] [int] NULL,
[FSCProblemClassId] [int] NOT NULL,
[FSCProblemTypeId] [int] NOT NULL,
[ReclassificationReason] [nvarchar](100) NULL,
[RequestCancellationReason] [nvarchar](2000) NULL,
[IsCancelledForReclassification] [bit] NULL,
[IsSurveyServiceRequest] [bit] NULL,
[ProblemOccurredUTCDate] [datetime] NULL,
[ProblemOccurredUTCYMD] [int] NULL,
[ProblemOccurredInBuildingTimeZoneDate] [datetime] NULL,
[CreationUTCDate] [datetime] NOT NULL,
[CreationUTCYMD] [int] NOT NULL,
[SubmittedUTCDate] [datetime] NULL,
[SubmittedInBuildingTimeZoneDate] [datetime] NULL,
[DueUTCDate] [datetime] NULL,
[DueUTCYMD] [int] NULL,
[DueInBuildingTimeZoneDate] [datetime] NULL,
[RequestedFutureDueUTCDate] [datetime] NULL,
[ProviderAdjustedDueInBuildingTimeZoneDate] [datetime] NULL,
[ProviderAdjustedDueInBuildingTimeZoneYMD] [int] NULL,
[Tier1WorkCompletionByBuildingTimeZoneDate] [datetime] NULL,
[Tier1WorkCompletionByBuildingTimeZoneYMD] [int] NULL,
[ModifiedUTCDate] [datetime] NULL,
[ModifiedByPersonnelId] [int] NULL,
[CompletionUTCDate] [datetime] NULL,
[CompletionUTCYMD] [int] NULL,
[CompletionInBuildingTimeZoneDate] [datetime] NULL,
[IsActivityComplete] [bit] NOT NULL,
[IsSLAMet] [bit] NULL,
[OwningTeamName] [varchar](255) NULL,
[CostCenterCode] [varchar](40) NULL,
[CaseOriginType] [nvarchar](100) NOT NULL,
[DeviceType] [nvarchar](100) NOT NULL,
[FSCProviderAccountId] [int] NOT NULL,
[CreatedFromSystemCode] [nvarchar](100) NULL,
[RequestorPersonnelId] [int] NOT NULL,
[RequestorEmailAlias] [varchar](30) NOT NULL,
[RequestorFullName] [varchar](100) NULL,
[RequestorIsSuperUser] [bit] NULL,
[RequestorIsProviderUser] [bit] NOT NULL,
[RequestorHeadCountTypeGroupDesc] [varchar](30) NOT NULL,
[RequestorCSCompanyAgencyName] [varchar](30) NOT NULL,
[RequestorProfitCenterCode] [char](10) NOT NULL,
[RequestorCostCenterCode] [char](10) NOT NULL,
[ContactPersonnelId] [int] NOT NULL,
[ContactEmailAlias] [varchar](30) NOT NULL,
[ContactFullName] [varchar](100) NOT NULL,
[ContactIsSuperUser] [bit] NOT NULL,
[ContactIsProviderUser] [bit] NOT NULL,
[ContactHeadCountTypeGroupDesc] [varchar](30) NOT NULL,
[ContactCSCompanyAgencyName] [varchar](30) NOT NULL,
[ContactProfitCenterCode] [char](10) NOT NULL,
[ContactCostCenterCode] [char](10) NOT NULL,
[OwnerPersonnelId] [int] NOT NULL,
[RoomTypeCode] [varchar](50) NULL,
[CreatedDate] [datetime] NOT NULL,
[CreatedBy] [varchar](30) NOT NULL,
[UpdatedDate] [datetime] NULL,
[UpdatedBy] [varchar](30) NULL,
[OverriddenStatus] [varchar](50) NULL
)

USQL外部表架构:

CREATE EXTERNAL TABLE IF NOT EXISTS dbo.TABLE1_Local
(
FSCServiceRequestId int,
ServiceRequestCRMId Guid,
TicketNumberTitle string,
ProblemDescription string,
FSCServiceRequestStatusId int,
FSCServiceRequestPriorityId int,
PriorityOverrideReason string,
RequestorPhoneNumber string,
FSCProblemRoomNumber string,
BuildingId int?,
FSCProblemClassId int,
FSCProblemTypeId int,
ReclassificationReason string,
RequestCancellationReason string,
IsCancelledForReclassification bool?,
IsSurveyServiceRequest bool?,
ProblemOccurredUTCDate DateTime?,
ProblemOccurredUTCYMD int?,
ProblemOccurredInBuildingTimeZoneDate DateTime?,
CreationUTCDate DateTime,
CreationUTCYMD int,
SubmittedUTCDate DateTime?,
SubmittedInBuildingTimeZoneDate DateTime?,
DueUTCDate DateTime?,
DueUTCYMD int?,
DueInBuildingTimeZoneDate DateTime?,
RequestedFutureDueUTCDate DateTime?,
ProviderAdjustedDueInBuildingTimeZoneDate DateTime?,
ProviderAdjustedDueInBuildingTimeZoneYMD int?,
Tier1WorkCompletionByBuildingTimeZoneDate DateTime?,
Tier1WorkCompletionByBuildingTimeZoneYMD int?,
ModifiedUTCDate DateTime?,
ModifiedByPersonnelId int?,
CompletionUTCDate DateTime?,
CompletionUTCYMD int?,
CompletionInBuildingTimeZoneDate DateTime?,
IsActivityComplete bool,
IsSLAMet bool?,
OwningTeamName string,
CostCenterCode string,
CaseOriginType string,
DeviceType string,
FSCProviderAccountId int,
CreatedFromSystemCode string,
RequestorPersonnelId int,
RequestorEmailAlias string,
RequestorFullName string,
RequestorIsSuperUser bool?,
RequestorIsProviderUser bool,
RequestorHeadCountTypeGroupDesc string,
RequestorCSCompanyAgencyName string,
RequestorProfitCenterCode string,
RequestorCostCenterCode string,
ContactPersonnelId int,
ContactEmailAlias string,
ContactFullName string,
ContactIsSuperUser bool,
ContactIsProviderUser bool,
ContactHeadCountTypeGroupDesc string,
ContactCSCompanyAgencyName string,
ContactProfitCenterCode string,
ContactCostCenterCode string,
OwnerPersonnelId int,
RoomTypeCode string,
CreatedDate DateTime,
CreatedBy string,
UpdatedDate DateTime?,
UpdatedBy string,
OverriddenStatus string
)
FROM MYDATASOURCE LOCATION "[rel].[TABLE1NAME]";

2 回答

  • 1

    我能够通过从外部表中删除IDENTITY列来使其工作 .

  • 0

    这似乎是一个已知问题,修复工作正在进行中 . 如果是这种情况,则推出修复程序之前的解决方法是用括号括起查询字符串,例如:

    SELECT * FROM EXTERNAL <data source name> 
    EXECUTE @"(<original_query_string>)"
    

相关问题