sql crystal-reports crystal-reports-2008

extraer la consulta SQL sin procesar de un archivo Crystal Report.rpt



crystal-reports crystal-reports-2008 (4)

Tengo un archivo .rpt que no escribí y no puedo encontrar documentación sobre él. Quiero poder revisar el SQL que se genera a partir de este informe para poder averiguar qué datos extraía y qué parámetros de la cláusula WHERE se usaban.

Puedo abrirlo y ver el diseño del informe. Pero cuando selecciono Database | Show SQL Query ... el informe intenta conectarse a la fuente de datos. El problema es que la fuente de datos utilizada es desconocida para mí, probablemente una conexión ODBC utilizada por quien escribió la consulta. Todo lo que puedo hacer en esa etapa es ''Cancelar'' y vuelvo a mirar al diseñador de informes.

¿Me estoy perdiendo de algo? ¿Puedo acceder a la consulta SQL sin conectarme a la fuente de datos? Parece que ver los criterios de selección no debe depender de una conexión de datos.

Gracias.

versión: Crystal Reports 2008


Debería ser posible encontrar algunos detalles sobre el origen de datos existente, seleccionando Base de datos> Establecer ubicación de origen de datos ....

Además de permitirle cambiar la ubicación del origen de datos, esto debería mostrarle cierta información sobre el origen de datos actual, como qué tipo de fuente de datos se está utilizando y, posiblemente (dependiendo del tipo de controlador), el nombre de la base de datos. Es probable que sea menos útil si (como usted supone) el origen de datos es ODBC, pero si utiliza un controlador nativo puede haber algo útil.


Sé que este es un hilo viejo, pero me encontré con este mismo problema. Efectivamente solíamos tener una base de datos / aplicación que desde entonces ha sido adquirida por una agencia externa.

Aunque ahora tienen la base de datos / aplicación, no tienen acceso a los informes de Crystal, por lo que no podemos simplemente enviarles el informe anterior que solíamos ejecutar. Del mismo modo, no podemos ejecutarlo ya que ni siquiera tenemos la base de datos configurada en ningún lugar ... Por lo tanto, nuestro plan era simplemente extraer el código SQL generado por el informe y reenviarlo.

Experimentamos el mismo problema, pero la solución es bastante simple. Si no tiene acceso a la fuente de datos original, simplemente cree una nueva fuente de datos ''en blanco'' (como una conexión ODBC). Mientras funcione la conexión a la fuente de datos (es decir, es un tipo de fuente de datos válida, funciona bien). Al ejecutar la opción ''Mostrar SQL'', dirija el informe a esta fuente de datos. Siempre que no intente ejecutar realmente el informe (y solo muestre el SQL), la operación no fallará. Esto funcionó para nuestra situación de todos modos. (Crystal Reports 2008)

(Puedo dar más detalles si ayuda de alguna manera).


Sin la contraseña, no estoy seguro de cuánto puede hacer. Parece que "Mostrar consulta SQL" requiere que el informe se ejecute primero y luego genere el plan SQL.

No es ideal, pero puede ir a Base de datos> Visual Linking Expert para ver al menos las tablas y cómo se unen, y vaya al Editor de fórmulas de selección de registros y vea cuáles son las declaraciones WHERE personalizadas.


Ver el SQL de un comando en un archivo de Crystal Report

En ocasiones, solo tiene el archivo de informe, pero no la estructura de base de datos asociada que utiliza el informe. Esto es común cuando se trata de informes de ejemplo de funcionalidad que desea imitar. Esta es una solución SOLO para permitirle ver el SQL de un comando en el que se basa un informe de Crystal, cuando no tiene la conexión de base de datos subyacente en la que se basa el informe. En esencia, el cuadro de diálogo debe cumplirse antes de que muestre el SQL, por lo que lo engañamos con un origen de datos legítimo, simplemente no uno que funcione con el SQL que está realmente en el comando SQL.

¿Por qué un informe usa un comando? ¿Crystal Reports no tiene la capacidad de vincular tablas? Cuando un Informe de Crystal se basa en un conjunto de registros que es demasiado complejo para la funcionalidad de vinculación de tabla dentro de Crystal Reports, el informe puede basarse en una Consulta SQL, generalmente desarrollada / probada en otra herramienta de edición y pegada en el comando. Esto permite que se utilicen funciones avanzadas de SQL.

Si aún no tiene una fuente de datos en su computadora configurada a la que pueda conectarse, primero deberá compilarla.

Un archivo simple de Microsoft Access .mdb guardado en una ubicación simple será suficiente. Coloqué el mío con la ruta C: / A_test / test.mdb para que sea más fácil de encontrar. Si no tiene uno, busque un archivo mdb de muestra y descárguelo, guárdelo con un nombre y una ubicación que pueda recordar. (En realidad, nunca abrirá este archivo, sino que se conectará). Una vez que haya guardado el archivo, abra el Administrador de ODBC y cree un Nuevo origen de datos. (Puede acceder rápidamente al Administrador de ODBC desde Inicio> escriba ODBC en la Búsqueda) En la pestaña DSN de Usuario, haga clic en el botón Agregar. Desplácese hacia abajo en la lista de controladores a Microsoft Access Driver (* .mdb), selecciónelo y haga clic en el botón Finalizar. En el cuadro Nombre de fuente de datos, escriba un nombre (utilicé MyTest). Haga clic en el botón Seleccionar y seleccione el archivo mdb que guardó de un paso anterior, haga clic en Aceptar. Haga clic en Aceptar nuevamente. Verá su nuevo origen de datos enumerado por el nombre que le dio. Haga clic en Aceptar. Ahora tiene la fuente de datos que necesitará para los próximos pasos.

  1. Abra el Informe de Cristal para el que desea ver el comando SQL y haga clic en el botón Asistente de Base de Datos o en la Base de Datos> Menú de Expertos de la Base de Datos.
  2. En Tablas seleccionadas, haga clic derecho en el comando y elija Ver comando
  3. Aparece el cuadro de selección de origen de datos. Seleccione la fuente de datos que creó (o una que ya use) y haga clic en el botón Finalizar. El cuadro Ver comando debería abrirse con el SQL en el panel izquierdo. Copie el SQL en su editor de texto favorito.