2010-07-14 67 views
17

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.extraer consulta SQL sin formato desde un archivo .rpt de Crystal Report

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.

¿Echo de menos 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

+0

Gracias - esto respondió mi propia pregunta - cómo ver el SQL! –

Respuesta

5

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 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 instrucciones WHERE personalizadas.

6

Debería ser posible encontrar algunos detalles sobre la fuente 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 origen de datos se está utilizando y posiblemente (dependiendo del tipo de controlador) el nombre del 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.

+0

+1 Esta sería mi primera acción. Mi segunda acción sería ingresar al experto en la base de datos (como dijo LittleBobbyTables). Entre esas 2 opciones, debe tener una idea clara de la fuente de datos. – PowerUser

16

Sé que este es un hilo antiguo, 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 cristal, 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.

Tuvimos 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). Siempre que la conexión con el origen de datos funcione (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)

(que puedo dar más detalles si ayuda de ninguna manera.)

+1

Esto funcionó para mí. En el menú desplegable de la Base de datos, hay una opción "Verificar la base de datos cada vez". Esto te arruinará. Haga clic en eso si está marcado. Vuelva a intentarlo. – greg

3

Visualización del SQL de un comando en un Crystal Report File

Hay momentos en que acaba el informe archivo, 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 demasiado complejo para la funcionalidad de vinculación de tablas 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 la configuración de su computadora a la que pueda conectarse, primero deberá compilarla.

Un simple archivo 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 una, busque en Google 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á a él). Una vez que haya guardado el archivo, abra el Administrador de ODBC y cree un Nuevo origen de datos. (puede acceder al administrador de ODBC rápidamente desde Inicio> escriba ODBC en la Búsqueda) En la pestaña DSN del usuario, haga clic en el botón Agregar. Desplácese hacia abajo en la lista de controladores al controlador de Microsoft Access (* .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 Crystal para el que desea ver el comando SQL, y haga clic en el botón Asistente de base de datos o en Base de datos> Menú de experto de la base de datos.
  2. En Tablas seleccionadas, haga clic con el botón derecho en el comando y elija Ver comando
  3. Aparecerá 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.
Cuestiones relacionadas