- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的用例是接受 Azure Synapse DW DDL 作为输入,对其进行解析并从中提取 SQL 语句。此外,我不仅可以受益于基本语句(即 DECLARE、CREATE、ALTER、SELECT 等),还可以受益于其他 DDL 构造,如 PK 约束、索引、分布、分区等。
是否有已知的方法可以实现此目标?非常感谢。
我尝试过的事情:
TsqlParser (所有 8 个可用版本 80、90、100、110、120、130、140、150)但它无法解析 DDL 并在特定于 DW 的几个标记上出错。
通过了自定义 TSqlConcreteFragmentVisitor到 TSqlFragment 但它也没有检测到 Create table 语句(它可以访问 SELECT 语句,但未在此处附加的 DDL 中显示)
二手 Microsoft.SqlServer.Management.SqlParser.Parser.Scanner从 DDL 读取 SQL 批处理,但它将整个 DDL 识别为单个批处理。这没有帮助,因为我实际上得到的输出与我传入的输入相同。
二手 TSQL .TSQLStatementReader 来标记 DDL,但它提供单独的标记而不是 SQL 语句(例如,在 fiddle 中,PK 约束 NOT ENFORCED 被标记为 2 个标记,而不是应该的单个约束。
请注意,如果我手动删除 DW 特定构造,如 PK 约束 NOT ENFORCED
和 WITH (...)
block ,那么 TsqlParser 会成功解析 DDL 和正确带出包含表、列和数据类型的 Create 语句。
示例 DDL:
IF NOT EXISTS (SELECT * FROM sys.schemas WHERE name = N'tempschema_main')
EXEC('CREATE SCHEMA [schema_main]')
CREATE TABLE [schema_main].[temp_table]
(
[TempId1] NVARCHAR(128) NOT NULL,
[TempId2] NVARCHAR(128) NOT NULL,
CONSTRAINT PK_TempPkColumnId PRIMARY KEY NONCLUSTERED (TempId1, TempId2) NOT ENFORCED
)
WITH
(
CLUSTERED COLUMNSTORE INDEX,
DISTRIBUTION = ROUND_ROBIN
)
最佳答案
正如您可能发现的那样,SQL 解析并不简单 - 考虑到编写同一语句的不同方式的数量、语句中可用选项的数量以及语句中可以包含的语句级别数一个语句(即在选择中选择中选择),加上所有非标准但特定于特定 DBMS 的语法。
你的选择大概有以下几种:
关于SQL 数据仓库 DDL 解析器 - 如何解析 DW 特定结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65513328/
进程文件: dw[1].exe or dw[1] 进程名称: Adware.W32.DelFin 描述: dw[1].exe is a process belonging to an adve
我知道您可以使用 Polybase 使用外部表将大量数据从 Blob 存储加载到 Azure SQL DW。但是我们有没有可能直接使用polybase将数据从SQL DW导入到另一个SQL DW呢?或
我遇到了一个与 PCIe 相关的问题。我用驱动把0x12345678写入BAR0+offset,用Xilinx Chipscope看波形。在我们的 Intel Rangeley 主板上,我们看到 TL
我试图在 mule 独立版 3.7.0 上部署 mule 应用程序,但运行时出现此错误: org.xml.sax.SAXParseException:schema_reference.4:无法读取架构
我使用DW 这个所见所得的编辑器来写html时,喜欢写上注释,如<!-- header --> 等等的注释,在一次比较大的改动时,需要批量查找替换,为了批量操作,于是我写了一个正则表达式
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界. 这篇CFSDN的博客文章ASP实现多行注释的方法(dw)由作者收集整理,如果你对这篇文章有兴趣,
所以我将文本“Jonathon Smith Photography”居中对齐。在它正下方的另一个 DIV 中,我居中对齐了一个包含“Portfolio Contact Bio”的内联列表(我的导航栏)
刚用teleport pro拉了一个整站到本地所有的超链都被强行加了一句tppabs="..."新装的系统和dreamweaver 8就玩了一把dw的替换功能
我正在尝试将数据从外部表加载到 SQL DW 内部表。我在 BLOB 存储中以压缩格式存储数据,并且外部表指向 BLOB 存储位置。 我有大约 24 个文件,大小约为 22GB,并尝试使用更大的资源类
我遇到三个与 Azure 机器学习服务相关的问题。如果您能给我一些指导或相关引用,我将不胜感激。 (1)关于机器学习的计算结果, 我可以将其导出到 Azure 中的 SQL 数据仓库吗? 格式会是什么
提交 git 时要求我处理 DreamWeaver 动态文件 (*/_notes/dwsync.xml)。它们很多,我不知道如何 stash 它们,因为它们是动态的(所以不可能将它们添加到 .giti
简单的插入代码,但我不断收到语法错误,值行对表中的每一列都有一个值,它只有 3 列,我试过删除逗号,尝试使用分号关闭父级后什么也没试过,试过在值之前明确说明列名在这段简单的代码上没有任何作用 最佳答案
我有一个使用 SQL Server 的本地数据仓库,将数据加载到 SQL 数据仓库的最佳方法是什么? 最佳答案 加载数据的过程取决于数据量。对于非常小的数据集 (<100 GB),您只需使用批量复制命
我有大量数据需要加载到 SQL DW。将数据传输到 Azure 的最佳方式是什么?我应该使用导入/导出还是 AzCopy?每种方法需要多长时间? 最佳答案 加载数据的过程取决于数据量。对于非常小的数据
我知道可以创建逻辑应用程序来恢复/暂停 Azure SQL 数据仓库,并且可以在管道中的 Azure 数据工厂中使用相同的逻辑应用程序。我想知道是否有任何方法可以类似地创建一个逻辑应用程序并在 ADF
当我运行 Dreamweaver cs 6 时,我的 cpu 使用率在一个核心中显示很高的百分比,当我打开进程选项卡时,dreamweacer.exe 使用我四核的 cpu 25。我正在使用 wind
我计划第一次在 MongoDB 中构建一个 DataWarehouse。有人建议我使用 Hadoop 进行 map-reduce,以防我需要对数据集进行一些更复杂的分析。 发现 Hive 后,我喜欢通
假设我有一个 mydev.database.windows.net Azure SQL Server 和 Azure SQL DW 数据库用于开发。我有一个用于产品的 myprod.database.
我最近意识到在 DW 2.0 中使用类似泛型的表示法来表示多态类型。 下面的例子 %dw 2.0 output application/dw fun id1(a) = a fun id2(a: Any
我有一个使用 SQL Server 的本地数据仓库,将数据加载到 SQL 数据仓库的最佳方法是什么? 最佳答案 加载数据的过程取决于数据量。对于非常小的数据集 (<100 GB),您只需使用批量复制命
我是一名优秀的程序员,十分优秀!