Tag | tutorial
Configurar Millenium Test en Red
Por: Administrador
Millenium Test puede ser configurado para trabajar en red, permitiendo compartir la información de su base de datos en una organización.
La base de datos de Millenium Test esta desarrollada en Access por lo que puede ser puesta en una máquina de la red que este disponible cuando se le requiera, esto puede ser en un servidor o una máquina que este siempre prendida.
La máquina servidor se tiene que tener compartido un directorio Test que pueda ser accesado en modo de lectura y escritura por las demás máquinas de la red.
Es necesario tener los permisos de administrador en la máquina Servidor y en las máquinas cliente para poder realizar la configuración.
En la instalación Millenium Test por default deja C:\Test los archivos que utiliza el sistema como son la base de datos, reportes, formatos y ayuda, copiar todos estos archivos y directorios a la máquina que será el servidor en la carpeta que se compartió a la red, quedando visible en la red de la siguiente forma:
\\MaquinaServidor\Test\ o \\ipMaquinaServidor\Test
La máquina servidor puede no tener instalado Millenium Test nada mas copiar de otra máquina que si lo tenga la carpeta Test, en caso de que la máquina servidor si utilice el sistema, con solamente compartir su carpeta y seguir los pasos siguientes se centraliza el almacenamiento de datos en una sola máquina.
Es necesario verificar que la carpeta compartida sea visible y accesible por las máquinas cliente.
En la máquina cliente en el explorador de archivos en el menú Herramientas/Conectar a una unidad de Red… , como la siguiente imagen.
Conectar Unidad de Red
Seleccionar una letra(para nuestro ejemplo seleccionamos la T) y capturamos la ruta de la maquina servidor, como se muestra en la siguiente imagen.
Seleccionar Ruta y Letra
Verificar en la máquina cliente que se visualiza la unidad de red desde el explorador de archivos y que se tiene acceso de lectura y escritura.
El siguiente paso es modificar en la máquina cliente el acceso de Millenium Test a la base de datos y reportes, para esto es abrir con el Notepad el archivo Test.ini, que se encuentra en Windows95,Windows 98,Windows XP y Windows Vista en la carpeta de C:\Windows o si es Windows 2000 en la carpeta C:\Winnt.
Modificar al archivo Test.ini el valor siguiente:
Ruta=C:\Test
Por
Ruta=T:
El siguiente paso es modificar el ODBC que se encuentra en el menú de Windows en Inicio/Configuración/Panel de Control / Herramientas Administrativas/Origines de Datos(ODBC). En la opción DSN del sistema existe una entrada creada llamada RH la cual con el botón Configurar nos muestra la ubicación de la base de datos, en botón Seleccionar nos permite cambiar a la unidad que previamente conectamos, seleccionamos la letra de la unidad y en la carpeta BaseDatos seleccionamos Tests.mdb, todos estos paso se muestran en las siguientes imágenes.
Pantalla de ODBC
Editar el ODBC RH
Seleccionar la unidad de red y la Base de Datos
Con estos pasos tenemos ya modificado en la máquina cliente el acceso de la Base de Datos, Reportes y archivos que utiliza el sistema Millenium Test en red, por lo que todos los datos capturados serán centralizados en un solo lugar, permitiendo compartir la información.
Es recomendable hacer respaldos de la base de datos pues en caso de dañarse el equipo que contiene la información, esta puede ser restablecida con solo volver a instalar el Millenium Test y remplazar con el respaldo de el archivo Tests.mdb.
Por: Administrador
Evitar el error 20599 Cannot Open SQL Server de Crystal Reports
Escrito por: Raul Macias
En un post anterior explique cuales eran las Dlls que había encontrado para evitar el error 20599 Cannot Open SQL Server de Crystal Reports 8 y 8.5, en este post voy a tratar de un ejemplo para evitar el error.
Los puntos a tratar serán:
- Crear el Reporte de Crystal Reports.
- Tipos de conexiones en el Active X de Crystal Reports 8.5 desde Visual Basic 6.
- Explicación del ejemplo de Visual Basic 6, DemoCrystal.vbp.
Las herramientas que se utilizan para estos ejemplos son Crystal Reports 8.5, Visual Basic 6 SP5, SQL Server 2005.
1.- Crear el Reporte de Crystal Reports.
La forma de crear un reporte de Crystal Reports que se conecte a SQL Server es utilizando la opción nativa, esta conexión se define cuando se va a crear un reporte y comienza a pedir el wizard la forma de conectar el reporte con la base de datos y la cual es More Data Sources/Microsoft Sql Server, como se muestra en la siguiente imagen.

Cuando se selecciona el tipo de conexión, en ese momento pide el Servidor, Usuario,Pasword y Base de Datos, mostrando todas las tablas y los procedimientos almacenados que se encontraron.
Se selecciona la tabla o el procedimiento almacenado con el que se trabajara, para el procedimiento almacenado pide los valores para los parámetros que tiene definidos, en nuestro ejemplo podemos utilizar la tabla catreportedemo o el procedimiento almacenado SP_lee_catreportedemo con la operación cero y el parámetro clave sin ningún valor o vacio.
Una ves puestos los valores a mostrar en crystal reports y verificando que los esta pintando como están en la base de datos, modificaremos el Set Location del reporte, para dejarlo listo y utilizarlo desde Visual Basic, esta modificación del valor sirve para prevenir el error 20599 cuando se esta llamando un reporte con el active X de Crystal Reports en Visual Basic.
Para cambiar el valor es ingresar a el menu DataBase/Set Location…,mostrando la siguiente imagen.

El valor que se tiene que modificar es el location/Table dejando nada mas la tabla o el nombre del procedimiento almacenado(Proc(sp_Lee_CatReporteDemo)), hay que eliminar BasedeDatos.dbo.


Para el procedimiento almacenado seria.


Una ves modificados estos valores guardamos nuestro reporte.
Esto se tiene que hacer para cada procedimiento almacenado o tabla que se tenga en el listado de Databases.
2.-Tipos de conexiones en el Active X de Crystal Reports 8.5 desde Visual Basic 6.
Cuando se esta trabajando en Visual Basic y se quiere abrir un reporte de Crystal que esta ligado a SQL Server ya sea tabla o procedimiento almacenado.
Existen dos formas de abrir la conexión a SQL Server desde Crystal y son:
CrystalReports.Connect = sConexion
Donde sConexion es una variable de tipo cadena y puede ser de cualquier tipo como los que se muestran en el sitio http://www.connectionstrings.com
CrystalReports.LogOnServer “p2ssql.dll”, sServidor, _
sBaseDeDatos, sUsuario, sPSW
En esta segunda opción es utilizar la conexión con la cual creamos nuestro reporte, los parámetros son el DLL,Servidor,Base de Datos, Usuario y Pasword, todos de tipo cadena.
3.-Explicación del ejemplo de Visual Basic 6, DemoCrystal.vbp.
Para nuestro ejemplo utilizamos dos objetos en la Base de Datos una tabla catreportedemo y un procedimiento almacenado sp_Lee_CatReporteDemo el cual tiene dos operaciones, con la operación 0(cero) trae todos los registros de la tabla y con la operación 1(uno) trae los registros con que sean iguales a el parámetro clave.
| Tabla |
| CREATE TABLE catreportedemo ( [clave] [CHAR](10) NOT NULL, [descripcion] [VARCHAR](150) NOT NULL ) |
| Procedimiento Almacenado |
| /* Ejemplos de como llamar el SP EXEC sp_Lee_CatReporteDemo 0 GO EXEC sp_Lee_CatReporteDemo 1,’001′ GO */ CREATE PROCEDURE Sp_lee_catreportedemo( @Operacion INT, @Clave CHAR(10) = NULL) AS /* Trae todos los registros */ IF (@Operacion = 0) BEGIN SELECT * FROM catreportedemo END /* Filtra los registros por Clave */ IF (@Operacion = 1) BEGIN SELECT * FROM catreportedemo WHERE clave = @Clave END RETURN 0 GO |
El proyecto de Visual Basic tiene la funcionalidad de primero abrir una conexión al servidor de SQL Server y leer todos los valores de la tabla catreportedemo, dando como validada la conexión.
En este proyecto se utilizan dos reportes RPT_Tabla.rpt el cual esta ligado a la tabla y RPT_SP.rpt el cual esta ligado al procedimiento almacenado.
El proyecto de Visual utiliza dos formas de llamar a estos reportes con diferente tipo de conexión, como las que ya mencione anteriormente.
El código para abrir el reporte de la tabla es el siguiente.
| Abrir Reporte con una Tabla |
Private Sub cmdReporteTabla_Click() ‘Opcion para ejecutar el reporte que contiene una tabla ‘Se valida la conexion If Not bConexionValida ThenMsgBox “Conexion no valida”, vbExclamation, Me.Caption Exit Sub End If‘Limpia los parametros del reporte LimpiaParametrosReporte ‘Se lee el reporte que ejecuta un procedimiento almacenado ‘Se verifica el tipo de conexion para el reporte Else sBaseDeDatos, sUsuario, sPSW End If ‘Se ejecuta el reporte End Sub |
El código para abrir el reporte con el procedimiento almacenado es el siguiente.
| Abrir Reporte con Procedimiento almacenado |
Private Sub cmdReporteSP_Click() ‘Opcion para ejecutar el reporte que contiene un procedimiento almacenado con dos parametros ‘Se valida la conexion If Not bConexionValida Then MsgBox “Conexion no valida”, vbExclamation, Me.Caption Exit Sub End If‘Limpia los parametros del reporte LimpiaParametrosReporte‘Se lee el reporte que ejecuta un procedimiento almacenado CrystalReportTabla.ReportFileName = _ App.Path & “\” & “RPT_SP.rpt” ‘Se verifica el tipo de conexion para el reporte ‘Se pasan los valores para los parametros @Operacion y @Clave CrystalReportTabla.ParameterFields(1) = _ ‘Se ejecuta el reporte |
Para cuando se abre el reporte con el procedimiento almacenado se utilizan las propiedades de ParameterFields para pasarle los parámetros que capturemos en la pantalla.
El código de este programa, el script de los objetos y los reportes se encuentran aqui.
Escrito por: Raul Macias

Datologia