我最近创建了一个外部数据源和一些外部数据表来在 Azure SQL 数据库之间进行查询。这很成功,我已经在 PowerBI 中使用了结果。
然后,我尝试使用模式比较将对象拉入我在 Visual Studio 2019 v16.4.2 中的数据项目中,这成功识别了对象并将它们带入项目中。 但是,所有新对象都列出了经典"SQL46010: Incorrect Syntax near CREATE"
错误,就好像构建甚至不知道它需要对这些对象做什么一样。
这是我为排除故障所做的工作
- 我检查以确保我的项目已正确设置为 Azure SQL 数据库
- 我在 Master Key create 语句和 Data Source Credentials 对象中添加了这些对象是否会“帮助”这种情况。事实证明,这些对象也不会构建。
- 我试图移动外部表以对构建不采取任何行动,但这是一个愚蠢的行动,因为这意味着引用表的视图无法再构建。
- 我有一个朋友试试这个,看看我的 Visual Studio 是否有问题,他有同样的错误。
- 我花了不合理的时间在谷歌上搜索。
无论如何,这里有一些示例代码来显示我正在尝试使用的语法。如果有人知道问题可能是什么,请告诉我。
CREATE EXTERNAL DATA SOURCE [MyDBNameDBQueryDataSrc]
WITH (
TYPE = RDBMS,
LOCATION = N'MyAzureSQLServer.database.windows.net',
DATABASE_NAME = N'MyAzureSQLDatabaseName',
CREDENTIAL = [MyCredentialDBQueryCred]
);
CREATE EXTERNAL TABLE [schema].[MyTable] (
[IdColumn] NVARCHAR (255) NULL,
[Column1] NVARCHAR (255) NULL,
[Column2] NVARCHAR (255) NULL,
[Column3] NVARCHAR (255) NULL
)
WITH (
DATA_SOURCE = [MyDBNameDBQueryDataSrc]
);