I am working on creating external tables using SQL Server 2019 PolyBase feature. Everything works fine excepts an issue with a target database name contains a dot.
The target database is in SQL server. The problem is the database name contains a dot, xxxx.xxx. Here is statement for creating external table:
CREATE EXTERNAL TABLE [schema_name].[table_name]
(
[Column1] [int] NOT NULL,
[Column2] [int] NOT NULL,
[Column3] [decimal](18, 5) NOT NULL,
[Column4] BINARY(8) NOT NULL
)
WITH (LOCATION = N'[xxxx.xxx].[dbo].[table_name]', DATA_SOURCE = [data_source_name]);
When try to run it, I am getting the following error
105082;Generic ODBC error: [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]Could not find server 'xxxx' in sys.servers. Verify that the correct server name was specified. If necessary, execute the stored procedure sp_addlinkedserver to add the server to sys.servers. . 105082;Generic ODBC error: [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]Could not find server 'xxxx' in sys.servers. Verify that the correct server name was specified. If necessary, execute the stored procedure sp_addlinkedserver to add the server to sys.servers. . OLE DB provider "MSOLEDBSQL" for linked server "(null)" returned message "Unspecified error". OLE DB provider "MSOLEDBSQL" for linked server "(null)" returned message "Unspecified error".
I have put brackets around the database name [xxxx.xxx] when specify location, but still getting same errors.
Is there any solution (except change database name by removing dot) for fixing this issue?