Empezaremos por crear una base de datos a la cual nos conectaremos luego con Genexus. La base de datos se llamara APersona.
Les dejo el script para la creacion de la tabla y sentencias para cargar algunos datos necesarios para probar nuestro ejemplo
--Script creacion tabla
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
NombrePersona char(20) NOT NULL,
CONSTRAINT PK_Persona PRIMARY KEY CLUSTERED
(
IdPersona ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY
) ON PRIMARY
GO
SET ANSI_PADDING OFF
--Ingreso de datos
INSERT INTO Persona SELECT 1 , 'PruebaDataView' , 'PruebaDataView'
INSERT INTO Persona SELECT 2 , 'DataView' , 'DataView'
Una vez creada la KB estamos a cuatro pasos de conectarnos a la base de datos con nuestro Pocket PC.
1. Crear una KB y seleccionar el Generador .Net Mobile
2. Crear el Data Store mediante el cual nos conectaremos a nuestra base de datos y configurarlo correctamente, este es el paso en el que se debe tener mas cuidado
La configuracion del Data Store deberia quedar asi
Notar que se especifica el Puerto por el cual se va a acceder ("Server TCP/IP port") y la propiedad "Use Trusted Connection" esta en no.
Para quienes tengan la versión Express del SQL deben habilitar el protocolo TCP/IP desde el SQL Server Configuration Manager y en las propiedades especificar el TCP Port (puerto a utilizar: 1433)
3. Ahora si ya tenemos todo pronto para crear el Data View. Para esto utilizaremos el Database Reverse Engineering.
En la configuración del Data View solo debemos tener en cuenta dos cosas:
- En Platforms especificamos que es SQL Server CE y no SQL Server. Esta confusión es común y hará que nuestro Data View no funcione.
- Property "Data Store" lo apuntamos al Data Store que creamos anteriormente.
4. Por ultimo, solo nos queda probar nuestra aplicacion, entonces indicamos que la Transaccion Persona sera nuestro Startup Object y damos F5.
Si ingresamos el Id Persona = 1 y todo quedo bien
Hola Diego,
ResponderEliminarEstaba revisando tu publicación que es muy interesante e ilustrativa, pero quería preguntarte si es posible realizar lo mismo contra otro dbms, por ejemplo Oracle o DB2.
Atte.,
Luis Cavieres M.