【问题标题】:Connecting to Azure Synapse SQL On-Demand leads to "syscharsets is not supported" error连接到 Azure Synapse SQL On-Demand 导致“不支持 syscharsets”错误
【发布时间】:2020-10-30 20:18:25
【问题描述】:

我使用 SQL 池SQL 按需池 运行 Azure Synapse Analytics。两者都在 Azure 托管的虚拟专用网络中运行,并且为 SQL 池以及 SQL On-Demand 组件设置了所谓的专用终结点。

首先,我尝试使用 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 odbc azure-sql-database azure-synapse


    【解决方案1】:

    我想回复您的询问,因为它适用于 Azure Synapse Analytics SQL PoolSQL On-Demand Workspace 之间的区别:

    SQL 池 表示使用 Synapse SQL 时正在供应的分析资源的集合。 SQL 池的大小由数据仓库单元 (DWU) 决定。

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

    SQL 按需提供 T-SQL 查询表面区域,在某些方面略有增强/扩展,以适应查询半结构化和非结构化数据的体验。此外,由于按需 SQL 的设计,不支持 T-SQL 语言的某些方面,例如,目前不支持 DML 功能。

    请在 SQL Pool 中运行以下命令,例如:

    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;
    

    以及按需工作区中的以下内容:

    /* 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 引擎的一项功能,而按需工作区仅提供类似 T-SQL 的接口来查询结构化和非结构化数据,以下强调不支持的内容:

    SQL on-demand 没有本地存储,只有元数据对象存储在数据库中。因此,不支持与以下概念相关的 T-SQL:

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

    “在按需工作区的情况下,为了执行 SQL 按需查询,推荐的工具是Azure Data StudioAzure Synapse Studio。”

    将客户端应用程序连接到按需工作区并不是唯一的,但它不会提供与 SQL 池相同的体验,因为 SQP 池是SERVERPROPERTY 定义的正在运行的 SQL 引擎实例。

    寻找Edition

    对于EngineEdition

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

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

    【讨论】:

    • 感谢 Mike 分享这些细节。实际上没有认识到现阶段不是 100% 支持 3rd 方工具。不幸的是,这意味着 SQL On-Demand 不能用于除 Microsoft Power BI 之外的任何 BI 工具。
    猜你喜欢
    • 2021-01-25
    • 2021-02-22
    • 2021-12-22
    • 1970-01-01
    • 2022-06-23
    • 2021-06-10
    • 2022-06-13
    • 1970-01-01
    • 2011-03-06
    相关资源
    最近更新 更多