azure - 连接到 Azure Synapse SQL On-Demand 导致“不支持 syscharsets”错误
问题描述
我使用SQL Pool和SQL On-Demand Pool运行 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 Synapse Analytics SQL 池与SQL On-Demand Workspace之间的区别:
SQL 池表示使用 Synapse SQL 时正在供应的分析资源的集合。SQL 池的大小由数据仓库单元 (DWU) 决定。
SQL 池有一个运行的 SQL 引擎实例,其中 SQL 按需工作区是 Azure Data Lake 的一个实例,具有有限的 T-SQL 支持:
SQL 按需提供 T-SQL 查询表面区域,在某些方面略有增强/扩展,以适应查询半结构化和非结构化数据的体验。此外,由于按需 SQL 的设计,不支持 T-SQL 语言的某些方面,例如,当前不支持 DML 功能。
请在 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;
以及按需工作区中的以下内容:
/* 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 Studio和Azure Synapse Studio。”
将客户端应用程序连接到按需工作区并不是唯一的,但它不会提供与 SQL 池相同的体验,因为 SQP 池是由SERVERPROPERTY定义的正在运行的 SQL 引擎实例。
寻找Edition
:
对于EngineEdition
:
附加信息:支持的驱动程序和连接字符串 ( Link )。
关于将客户端应用程序连接到按需工作区的用例的信息不多,但如果您需要分享其他信息,请酌情详细说明。
推荐阅读
- flow-project - Flow-project 将 redis 绑定到 localhost 以确保安全
- python - Python POST 请求返回 404 状态码,但 GET 请求返回 200
- javascript - 如何使这台 JavaScript 钢琴上的第一个按钮正常工作?
- winforms - Powershell 文本框占位符
- javascript - 使用 Python 中的事件获取 cognito 用户详细信息
- python - 无法导入“NLTK”
- amazon-web-services - 从 AWS DataPipeline 调用 Lambda 函数
- python - 如何设置python中本地模块的路径以在CircleCI中识别?
- python - 如何将 io.BytesIO pdfrw PDF 保存到 Django FileField
- android-studio - 更改来电屏幕标题 - Android Studio 广播接收器