连接到 Azure Synapse SQL 按需导致 "syscharsets is not supported" 错误

Connecting to Azure Synapse SQL On-Demand leads to "syscharsets is not supported" error

我 运行 Azure Synapse Analytics 使用 SQL 池SQL 按需池。两者都 运行 在 Azure 管理的虚拟专用网络中,SQL 池以及 SQL 按需组件所谓的专用端点已经设置。

首先,我尝试使用 ADO.NET 连接到两个专用端点,效果非常好。

Connection Test via ADO.NET -> success

后来我连接了一个只支持ODBC的BI工具

Connection Test via ODBC -> failed

无论如何,与 SQL 池的 ODBC 连接工作正常。

与 SQL On-Demand 组件的 ODBC 连接导致连接错误 "syscharsets is not supported"

已经尝试过各种 ODBC 设置但没有成功,有什么想法吗?

谢谢。

我想对你的询问做出回应,因为它适用于 Azure Synapse Analytics SQL Pool versus SQL On-Demand Workspace:

之间的区别

SQL pool represents a collection of analytic resources that are being provisioned when using Synapse SQL. The size of SQL pool is determined by Data Warehousing Units (DWU).

SQL 池有一个 SQL 引擎 运行ning 的实例,其中 SQL on-demand 工作区是 Azure Data Lake 的一个实例,具有有限的 T-SQL support:

SQL on-demand offers T-SQL querying surface area, which is slightly enhanced/extended in some aspects to accommodate for experiences around querying semi-structured and unstructured data. Furthermore, some aspects of the T-SQL language are not supported due to the design of SQL on-demand, as an example, DML functionality is currently not supported.

请运行以下SQL池为例:

USE master;
SELECT  db.name [Database]
,       ds.edition [Edition]
,       ds.service_objective [Service Objective]
  FROM    sys.database_service_objectives   AS ds
  JOIN    sys.databases                     AS db ON ds.database_id = db.database_id;

以及 on-demand 工作区中的以下内容:

/* Script to get full version information */
/* */
SELECT  SERVERPROPERTY('ProductVersion') AS "Product Version", 
    SERVERPROPERTY('ProductLevel') AS "Product Level", 
    SERVERPROPERTY('EngineEdition') AS "Engine Edition", 
    SERVERPROPERTY('Edition') AS "Edition",
    @@Version AS "Version";

sys.syscharsets (Transact-SQL) 是 SQL 引擎的功能,on-demand 工作区仅提供一个 T-SQL 类接口来查询结构化和非结构化数据,下面强调不支持的:

SQL on-demand has no local storage, only metadata objects are stored in databases. Therefore, T-SQL related to the following concepts is not supported:

  • 表格
  • 触发器
  • 物化视图
  • 除了与视图和安全相关的 DDL 语句
  • DML 语句

“在 on-demand 工作区的情况下,要执行 SQL on-demand 查询,推荐的工具是 Azure Data Studio and Azure Synapse Studio。”

将客户端应用程序连接到 on-demand 工作区并不是唯一的,但它不会提供与 SQL 池相同的体验,因为 SQP 池是 运行ning SQL 由 SERVERPROPERTY.

定义的引擎实例

寻找Edition:

对于EngineEdition

附加信息: 支持的驱动程序和连接字符串 (Link)。

关于将客户端应用程序连接到 on-demand 工作区的用例的信息不多,但如果您需要分享其他信息,请酌情详细说明。