简体   繁体   English

我无法使用DATA_SOURCE选项创建Azure外部表

[英]I am unable to create an Azure external table with the DATA_SOURCE option

I am trying to do cross database queries and have setup an external data source via: 我正在尝试进行跨数据库查询,并通过以下方式设置了外部数据源:

CREATE EXTERNAL DATA SOURCE ExampleDataSource
WITH ( 
    TYPE = RDBMS,
    LOCATION = 'example.database.windows.net',
    DATABASE_NAME = 'Database2',
    CREDENTIAL = "credentials"
);

After that, I created an elastic database pool and added my databases to it: 之后,我创建了一个弹性数据库池,并将数据库添加到其中: 在此处输入图片说明

From what I've been reading, that's all I should have to do. 根据我一直在阅读的内容,这就是我所要做的。 But it isn't working. 但这不起作用。 Here's the external table on trying to create on the first database: 这是尝试在第一个数据库上创建的外部表:

CREATE EXTERNAL TABLE [dbo].[tblEmployee](
    [EmployeeId] [UNIQUEIDENTIFIER] NOT NULL,
    [SecurityIdentifier] [NVARCHAR](255) NOT NULL,
    [BatchId] [UNIQUEIDENTIFIER] NULL,
    [FirstName] [NVARCHAR](50) NULL,
    [LastName] [NVARCHAR](50) NULL,
    [EmailAddress] [NVARCHAR](100) NULL,
    [PhoneNumber] [NVARCHAR](50) NULL,
    [NTAccount] [NVARCHAR](50) NULL,
    [DistinguishedName] [NVARCHAR](1024) NULL,
    [Title] [NVARCHAR](100) NULL,
    [Department] [NVARCHAR](50) NULL,
    [Company] [NVARCHAR](50) NULL,
    [ManagerDistinguishedName] [NVARCHAR](1024) NULL,
    [JpegPhoto] [VARBINARY](MAX) NULL,
    [Office] [NVARCHAR](50) NULL,
    [CountryCode] [INT] NULL,
    [DomainName] [NVARCHAR](50) NULL,
    [LocaleId] [UNIQUEIDENTIFIER] NULL,
    [Deleted] [BIT] NOT NULL,
 CONSTRAINT [PK_tblEmployee] PRIMARY KEY NONCLUSTERED 
(
    [EmployeeId] ASC
)
WITH 
(
    DATA_SOURCE = ExampleDataSource
) ON [PRIMARY]
) 

ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

GO

And the error: 错误:

Msg 155, Level 15, State 1, Line 34
'DATA_SOURCE' is not a recognized  option.
Msg 102, Level 15, State 1, Line 34
Incorrect syntax near 'ExampleDataSource'.

Any ideas on what I'm doing wrong? 关于我在做什么错的任何想法吗?

The problem was due to either the PK or just all the extra stuff on the CREATE EXTERNAL TABLE . 问题是由于PK或CREATE EXTERNAL TABLE上的所有多余内容所致。 I knew that I needed the EXTERNAL TABLE to be the same schema as the original table, so I just created a schema script from the original table and added the EXTERNAL and WITH stuff. 我知道我需要EXTERNAL TABLE与原始表具有相同的架构,因此我只是从原始表创建了一个架构脚本,并添加了EXTERNALWITH内容。 So removing all the extra stuff solved the problem. 因此,删除所有多余的东西可以解决问题。

CREATE EXTERNAL TABLE [dbo].[tblEmployee](
    [EmployeeId] [UNIQUEIDENTIFIER] NOT NULL,
    [SecurityIdentifier] [NVARCHAR](255) NOT NULL,
    [BatchId] [UNIQUEIDENTIFIER] NULL,
    [FirstName] [NVARCHAR](50) NULL,
    [LastName] [NVARCHAR](50) NULL,
    [EmailAddress] [NVARCHAR](100) NULL,
    [PhoneNumber] [NVARCHAR](50) NULL,
    [NTAccount] [NVARCHAR](50) NULL,
    [DistinguishedName] [NVARCHAR](1024) NULL,
    [Title] [NVARCHAR](100) NULL,
    [Department] [NVARCHAR](50) NULL,
    [Company] [NVARCHAR](50) NULL,
    [ManagerDistinguishedName] [NVARCHAR](1024) NULL,
    [JpegPhoto] [VARBINARY](MAX) NULL,
    [Office] [NVARCHAR](50) NULL,
    [CountryCode] [INT] NULL,
    [DomainName] [NVARCHAR](50) NULL,
    [LocaleId] [UNIQUEIDENTIFIER] NULL,
    [Deleted] [BIT] NOT NULL)
WITH 
(
    DATA_SOURCE = ExampleDataSource
)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 尝试在 Azure SQL 数据库上创建外部数据源的权限问题 - Permissions issue trying to create an external data source on Azure SQL Database 在 SQL 中使用外部表/Polybase 从外部源(Azure 存储 Blob)中选择数据。 创建表但没有返回数据 - selecting data from an external source (azure storage blob) using external table/Polybase in SQL. Table created but no data returned 源选项中的 Azure 数据工厂递归查询 - Azure Data Factory Recursive Query in source option 无法在SQL中创建外部数据源 - Can't CREATE EXTERNAL DATA SOURCE in SQL 在 Azure SQL 数据仓库中创建外部表到基于通配符的文件或文件夹路径 - Create External Table in Azure SQL Data warehouse to a wild card based file or folder path Azure - 如何在 select 语句中从外部数据源执行 UDF - Azure - How to execute UDF from external data source in select statement Azure SQL - 私有端点上的外部数据源 - Azure SQL - External Data Source over private endpoint 无法从Azure SQL外部表运行“INSERT INTO” - Unable to run “INSERT INTO” from Azure SQL external table 发布到 SQL Azure 失败并显示“无法删除外部数据源”消息 - Publish to SQL Azure fails with 'Cannot drop the external data source' message 为什么我无法创建此过程? - Why am I unable to create this procedure?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM