2010-07-26 12 views
7

He estado buscando una biblioteca gratuita/código fuente para formatear consultas SQL, preferiblemente en .NET, durante bastante tiempo. Incluso después de buscar algunas de las respuestas aquí en SO, casi llegué al punto en el que estoy dispuesto a creer que no existe nada como esto.¿Existe una biblioteca de formato de SQL gratuita para .NET?

Lo más parecido que he encontrado, un proyecto llamado sqlformat, no parece estar activo, ni siquiera es compatible con un subconjunto de funciones de SQL para el formateo.

¿Hay alguna biblioteca de formato SQL libre o de código abierto disponible? No quiero un producto enlatado, ya que necesito integrar esta funcionalidad en una herramienta que estoy construyendo. Los servicios web tampoco son aceptables, ya que los que he encontrado como T-SQL Tidy no han demostrado ser muy confiables.

+0

¿Cuál es el propósito? para formatear el código antes de la ejecución, para corregir el formato en una ventana de consulta, o alguna otra cosa? – StingyJack

+0

Esta es una herramienta interna que permite a nuestros desarrolladores reformatear texto (SQL es solo uno de los casos de uso) para revisión y consistencia. SQL se puede escupir de nuestra aplicación en un formato de una sola línea, y también es agradable poder traducirlo a un formato legible. –

Respuesta

3

No conozco una versión gratuita, pero hay una aquí por solo $ 100 y puedes probarla durante 60 días (elige la versión de la API).

http://www.dpriver.com/buynow.php

No es gratis, pero a $ 100, que es probablemente menos de 2 horas de su tiempo tratando de encontrar/integrar una gratuita

12

empecé un código abierto .Net 2.0 T-SQL formato de la biblioteca hace un par de meses, y ahora es oficialmente "v1 Hecho", sin problemas conocidos: http://www.architectshack.com/PoorMansTSqlFormatter.ashx

También he configurado un servicio de formato SQL en línea (como SQLTidy y varios otros, excepto en este caso el la biblioteca de formato que lo controla es de código abierto y completamente funcional): http://poorsql.com/

Lo siento, es muy tarde, pero espero que esto ayude a alguien más. Por supuesto, cualquier comentario sería genial!

TENGA EN CUENTA: tiene licencia de AGPL, por lo que no es apropiado para la integración en aplicaciones comercialmente licenciadas/distribuidas; pero para cualquier tipo de procesos internos (integración continua/calidad del control de origen) debería estar bien.

(Edit: Actualización estado de la biblioteca)

+2

Esta biblioteca funcionó muy bien para mí, y ahora hay un Nuget también empaquetado: http://nuget.org/packages/PoorMansTSQLFormatter/ –

+0

Gracias por la nota de la licencia. Cita del sitio web: "Si elige redistribuir/exponer la funcionalidad, debe hacer que la fuente esté disponible para los destinatarios/usuarios (incluso de un servicio web)". http://www.architectshack.com/PoorMansTSqlFormatter.ashx#License__Redistribution_7 – Julian

2

Sé que esto es una entrada antigua, pero no había un montón de buenas respuestas. Tuve la misma pregunta y encontré esta solución para VB6 en VBForums por si_the_geek, uno de sus super moderadores.

VB Forums Thread for formatting SQL Select (VB6)

haber trabajado con VB6 y VB.NET, que era fácil de convertir. El fondo de la rosca tiene el enlace VB.NET o se puede llegar a ella directamente desde aquí:

VB.NET SQL Formatting Module

usted debería ser capaz de convertir esto en C# con una de las herramientas de conversión en línea sin ningún problema.

Tenga en cuenta, sin embargo, que la biblioteca no es un código de grado comercial; funciona muy bien para SELECCIONES bastante simples. Para una instrucción SQL compleja con múltiples sub-selecciones, encontré errores en el SQL resultante.

Best Regards,

David

ps. Oh si....¡es gratis! :)

Cuestiones relacionadas