Недавно я создал внешний источник данных и несколько внешних таблиц данных для запроса между Azure SQL Базы данных. Это работает успешно, и я использовал результаты в PowerBI.
Затем я попытался вставить объекты в свой проект данных в Visual Studio 2019 v16.4.2, используя сравнение схем, которое успешно распознало объекты и перенесло их в проект. Однако , все новые объекты перечисляют ошибку classi c "SQL46010: Incorrect Syntax near CREATE"
, как будто сборка даже не знает, что ей нужно делать с объектами.
Вот что я сделал для устранения неполадок
- Я проверил, чтобы убедиться, что мой проект был правильно установлен как Azure SQL База данных
- Я добавил в оператор создания мастер-ключа и объекты учетных данных источника данных, чтобы увидеть, помогут ли они вообще ситуации. Оказывается, эти объекты также не будут создаваться.
- Я попытался переместить внешние таблицы, чтобы не выполнять никаких действий при сборке, но это было действие fooli sh, поскольку это означало, что представления, ссылающиеся на таблицы, могут больше не собираюсь.
- У меня был друг, попробовавший это, чтобы проверить, не было ли что-то не так с моей Visual Studio, у него были те же ошибки.
- Я потратил неоправданно много времени на поиск в Google.
В любом случае, вот пример кода, демонстрирующий синтаксис, который я пытаюсь использовать. Пожалуйста, если кто-нибудь знает, в чем может быть проблема, дайте мне знать.
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]
);