有没有一个免费的SQL格式化库适用于.NET?

9
我已经找了很长时间一个免费的库/源代码来格式化SQL查询,最好是在.NET上。即使在SO上搜索了一些回答后,我几乎到了认为没有这样的东西存在的地步。
我找到的最接近的一个项目叫做sqlformat,似乎不活跃,也不支持格式化SQL的可用子集功能。
有没有任何免费或开源的SQL格式化库?我不想要现成的产品,因为我需要将此功能集成到我正在构建的工具中。 Web服务也不可接受,因为我找到的像T-SQL Tidy这样的服务并不是很可靠。

目的是什么?是在执行之前重新格式化代码,修复查询窗口中的格式,还是其他什么? - StingyJack
这是一个内部工具,允许我们的开发人员重新格式化文本(SQL只是其中之一),以进行修订和保持一致性。 SQL可能会以单行格式从我们的应用程序中输出,能够将其转换为可读格式也很好。 - Ed Altorfer
3个回答

15

我几个月前开始了一个开源的.NET 2.0 T-SQL格式化库,并且现在正式发布“v1 Done”,没有已知问题:http://www.architectshack.com/PoorMansTSqlFormatter.ashx

此外,我还创建了一个在线SQL格式化服务(类似于SQLTidy和其他几个服务,但在这种情况下,驱动它的格式化库是开源且完全可运行的):http://poorsql.com/

很抱歉来得这么晚,但希望能对其他人有所帮助。当然,欢迎任何反馈!

请注意:它是AGPL许可证,因此不适用于商业许可/分发应用程序的集成;但对于任何内部流程(持续集成/源代码控制质量)都应该没问题。

(编辑:更新库的状态)


2
这个库对我来说非常好用,现在也有一个Nuget包:http://nuget.org/packages/PoorMansTSQLFormatter/ - David McClelland
感谢您的许可说明。引用网站上的话:“如果您选择重新分发/公开功能,则必须向接收者/用户提供源代码(即使是 Web 服务的用户)。” http://www.architectshack.com/PoorMansTSqlFormatter.ashx#License__Redistribution_7 - Julian

3
我不知道是否有免费版本,但这里有一个只需100美元,你可以选择API版本,并且可以试用60天。 http://www.dpriver.com/buynow.php
虽然不是免费的,但以100美元的价格购买,可能比花费两个小时的时间去寻找/集成免费版本更划算。

https://codebeautify.org/sqlformatter 提供了一种免费的API来实现此功能。 - 8oris

3
我知道这是一篇旧帖子,但是没有很好的答案。我有同样的问题,并在VBForums上找到了si_the_geek的解决方案-他们的超级版主之一。 VB Forums Thread for formatting SQL Select (VB6) 我曾经使用VB6和VB.NET,所以转换很简单。线程底部有VB.NET链接,或者您可以直接从这里获取: VB.NET SQL Formatting Module 你应该能够用在线转换工具将其转换为C#。
但是请注意,该库不是商业级代码-它非常适用于相当简单的SELECTS。对于具有多个子查询的复杂SQL语句,我发现结果SQL中存在错误。
最好的问候,
David ps. 噢,是的...它是免费的! :)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接