Visual Basic .NET + Informixlecasabe.com/materiales/lecasabe_Conexión-ODBC-con...Visual Basic .Net...
Transcript of Visual Basic .NET + Informixlecasabe.com/materiales/lecasabe_Conexión-ODBC-con...Visual Basic .Net...
Visual Basic .NET + Informix
Conexión y ejemplo LOGIN
1
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.
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
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.
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.
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.
1. Panel de control
7
2. Herramientas administrativas
8
9
3. Orígenes de datos (ODBC)
10
4. DSN de archivo 5. Agregar (Add..)
11
6. Seleccionar el cliente
12
Seleccionar un controlar para el que desee establecer un origen de datos.
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.)
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
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
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
Tabla SYSUSER: campos.
17
Nos indica el rol del usuario buscado.
Tabla SYSROLEAUTH: campos.
18
GUI – Visual Basic .NET
19
Diseñamos nuestra ventana para login.
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
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.
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.
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.
Referencias web
24
http://lecasabe.com
https://www.ibm.com/
https://www.ibm.com/support/knowledgecenter/en/SSGU8G
_12.1.0/com.ibm.sqlr.doc/ids_sqr_009.htm
https://www.ibm.com/support/knowledgecenter/en/SSGU8G
_12.1.0/com.ibm.sqlr.doc/ids_sqr_077.htm
https://www.ibm.com/support/knowledgecenter/SSGU8G_1
2.1.0/com.ibm.sqlr.doc/ids_sqr_057.htm