Transcript
Page 1: Visual Basic .NET + Informix³n-ODBC-con-Infor… · INFORMIX IBM Informix SQL es un sistema de desarrollo de aplicaciones de bases de datos que proporciona la velocidad, potencia

Visual Basic .NET + Informix

Conexión y ejemplo LOGIN

1

Page 2: Visual Basic .NET + Informix³n-ODBC-con-Infor… · INFORMIX IBM Informix SQL es un sistema de desarrollo de aplicaciones de bases de datos que proporciona la velocidad, potencia

ACCESO A BASE DE DATOS

2

Visual Basic .NET trabaja con la tecnología de ADO.NET (Active Data Object) para el acceso a una base de datos utilizando los proveedores administradores de bases de datos que funcionan en el entorno .NET.

La plataforma .NET incorpora cuatro proveedores:

SQL SERVER,

ORACLE,

ODBC,

OLEDB.

Page 3: Visual Basic .NET + Informix³n-ODBC-con-Infor… · INFORMIX IBM Informix SQL es un sistema de desarrollo de aplicaciones de bases de datos que proporciona la velocidad, potencia

INFORMIX

IBM Informix SQL es un sistema de desarrollo de aplicaciones de bases de datos que proporciona la velocidad, potencia y seguridad necesarias para las aplicaciones grandes y pequeñas.

http://www-03.ibm.com/software/products/es/isql

3

Page 4: Visual Basic .NET + Informix³n-ODBC-con-Infor… · INFORMIX IBM Informix SQL es un sistema de desarrollo de aplicaciones de bases de datos que proporciona la velocidad, potencia

CONEXIONES ODBC

4

Open DataBase Connectivity

Las conexiones ODBC se configuran en el Panel de control del sistema. Las conexiones ODBC pueden establecerse con cualquier origen de datos para el que haya instalado un controlador ODBC.

Cuando cree una conexión ODBC, ésta recibirá automáticamente un nombre de origen de datos (DSN). El DSN (Data Source Name) se utilizará posteriormente para identificar conexiones en controles de datos.

Page 5: Visual Basic .NET + Informix³n-ODBC-con-Infor… · INFORMIX IBM Informix SQL es un sistema de desarrollo de aplicaciones de bases de datos que proporciona la velocidad, potencia

Existen tres tipos de conexión ODBC:

5

DSN de sistema:

Disponible para todos los usuarios del Sistema Operativo. Se almacena en el registro de Windows.

DSN de usuario:

Disponible para el usuario actual. Se almacena en el registro de Windows.

DSN de archivo:

Genera un archivo con la configuración indicada.

Page 6: Visual Basic .NET + Informix³n-ODBC-con-Infor… · INFORMIX IBM Informix SQL es un sistema de desarrollo de aplicaciones de bases de datos que proporciona la velocidad, potencia

Paso a paso para realizar conexión ODBC con Informix.

6

IMPORTANTE:

El único pre-requisito es que debe estar instalado el cliente (driver) del SGBD: Informix.

Page 7: Visual Basic .NET + Informix³n-ODBC-con-Infor… · INFORMIX IBM Informix SQL es un sistema de desarrollo de aplicaciones de bases de datos que proporciona la velocidad, potencia

1. Panel de control

7

Page 8: Visual Basic .NET + Informix³n-ODBC-con-Infor… · INFORMIX IBM Informix SQL es un sistema de desarrollo de aplicaciones de bases de datos que proporciona la velocidad, potencia

2. Herramientas administrativas

8

Page 9: Visual Basic .NET + Informix³n-ODBC-con-Infor… · INFORMIX IBM Informix SQL es un sistema de desarrollo de aplicaciones de bases de datos que proporciona la velocidad, potencia

9

Page 10: Visual Basic .NET + Informix³n-ODBC-con-Infor… · INFORMIX IBM Informix SQL es un sistema de desarrollo de aplicaciones de bases de datos que proporciona la velocidad, potencia

3. Orígenes de datos (ODBC)

10

Page 11: Visual Basic .NET + Informix³n-ODBC-con-Infor… · INFORMIX IBM Informix SQL es un sistema de desarrollo de aplicaciones de bases de datos que proporciona la velocidad, potencia

4. DSN de archivo 5. Agregar (Add..)

11

Page 12: Visual Basic .NET + Informix³n-ODBC-con-Infor… · INFORMIX IBM Informix SQL es un sistema de desarrollo de aplicaciones de bases de datos que proporciona la velocidad, potencia

6. Seleccionar el cliente

12

Seleccionar un controlar para el que desee establecer un origen de datos.

Page 13: Visual Basic .NET + Informix³n-ODBC-con-Infor… · INFORMIX IBM Informix SQL es un sistema de desarrollo de aplicaciones de bases de datos que proporciona la velocidad, potencia

13

10. Probar la conexión

11. Aceptar

12. Ruta y nombre del archivo DSN (recordar la ruta ya que será necesaria para escribir el código dentro de VB.NET)

13. Ya existe, reemplazar Si

14. Verificamos su creación

15. Visualizamos su contenido (abrir el archivo para confirmar los parámetros ingresados.)

Page 14: Visual Basic .NET + Informix³n-ODBC-con-Infor… · INFORMIX IBM Informix SQL es un sistema de desarrollo de aplicaciones de bases de datos que proporciona la velocidad, potencia

14

7. Indicar ruta y nombre

8. Siguiente y Finalizar

9. Configurar parámetros

Server name: nombre del servidor de base de datos

Host name: IP del servidor

Service: 1526 (puerto que utiliza el servidor)

Protocol: onsoctcp (ONline SOCket TCP/ip)

User ID: nombre del usuario a utilizar (de linux)

Password: contraseña del usuario a utilizar (de linux)

Database name: nombre de la base de datos a utilizar

Page 15: Visual Basic .NET + Informix³n-ODBC-con-Infor… · INFORMIX IBM Informix SQL es un sistema de desarrollo de aplicaciones de bases de datos que proporciona la velocidad, potencia

15

Una vez que tenemos nuestro DSN de archivo creado podemos proceder a desarrollar nuestro Login desde Visual Basic .Net

Nuestro login permitira conectarse directamente con los usuarios del servidor Informix.

Una vez conectados podremos acceder a los roles de cada usuario para luego, por ejemplo, mostrar distintas ventanas segun cada perfil/rol.

Codificación VB.Net

Page 16: Visual Basic .NET + Informix³n-ODBC-con-Infor… · INFORMIX IBM Informix SQL es un sistema de desarrollo de aplicaciones de bases de datos que proporciona la velocidad, potencia

16

Para poder realizar un login al sistema no es necesario tener una tabla en nuestra base de datos con los usuarios permitidos.

El login se puede hacer directamente con los usuarios del servidor, consultando las tablas SYS...

Tablas del servidor de BD:

SYSUSERS

SYSROLEAUTH

Page 17: Visual Basic .NET + Informix³n-ODBC-con-Infor… · INFORMIX IBM Informix SQL es un sistema de desarrollo de aplicaciones de bases de datos que proporciona la velocidad, potencia

Tabla SYSUSER: campos.

17

Nos indica el rol del usuario buscado.

Page 18: Visual Basic .NET + Informix³n-ODBC-con-Infor… · INFORMIX IBM Informix SQL es un sistema de desarrollo de aplicaciones de bases de datos que proporciona la velocidad, potencia

Tabla SYSROLEAUTH: campos.

18

Page 19: Visual Basic .NET + Informix³n-ODBC-con-Infor… · INFORMIX IBM Informix SQL es un sistema de desarrollo de aplicaciones de bases de datos que proporciona la velocidad, potencia

GUI – Visual Basic .NET

19

Diseñamos nuestra ventana para login.

Page 20: Visual Basic .NET + Informix³n-ODBC-con-Infor… · INFORMIX IBM Informix SQL es un sistema de desarrollo de aplicaciones de bases de datos que proporciona la velocidad, potencia

20

CODIFICAMOS

Declaramos atributos

Ruta y nombre del archivo de nuestro DSN

Valor ingresado en la caja de texto de Usuario

Valor ingresado en la caja de texto de Contraseña

Declaro el metodo para realizar la conexion

Page 21: Visual Basic .NET + Informix³n-ODBC-con-Infor… · INFORMIX IBM Informix SQL es un sistema de desarrollo de aplicaciones de bases de datos que proporciona la velocidad, potencia

RECOMENDACIONES:

21

Manejar variables que almacenen los valores ingresados en las cajas de texto del login y luego utilizar las mismas para la cadena de conexión.

Guardar el archivo DSN en la carpeta:

BIN DEBUG

Utilizar un método para la conexión desde un modulo.

Page 22: Visual Basic .NET + Informix³n-ODBC-con-Infor… · INFORMIX IBM Informix SQL es un sistema de desarrollo de aplicaciones de bases de datos que proporciona la velocidad, potencia

ROLES DE USUARIOS

22

Cada usuario va a tener un rol asignado.

Mediante los datos ingresado en el formulario de LOGIN podemos hacer una busqueda en la tabla SYSUSER consultando en el campo defrole por su rol asignado.

Luego desde la tabla SYSROLEAUTH obtenemos los permisos que tiene cada rol.

Page 23: Visual Basic .NET + Informix³n-ODBC-con-Infor… · INFORMIX IBM Informix SQL es un sistema de desarrollo de aplicaciones de bases de datos que proporciona la velocidad, potencia

Consultamos el rol que tiene el usuario:

23

SELECT rolename

FROM sysroleauth

WHERE grantee = '" & txtUsuario.Text & "'"

Obtenemos con el rolename el rol que tiene el

usuario y después con una estructura de control (If o Select/Case) dependiendo dicho rolename decidimos

que formulario deberá mostrar.


Recommended