Capitulo 15 Visual Basic
Capitulo 15 Visual Basic
Capitulo 15 Visual Basic
15
Las bases de datos más conocidas de las utilizadas en plataforma Windows son posiblemente
Oracle y SQL Server. Cualquier programador conoce al menos unas de ellas. Queremos
explicar aquí los pasos que hay que realizar para poder “ver” la base de datos y trabajar con
ella desde Visual Basic.
Una base de datos de esta categoría va a estar instalada con toda seguridad en un servidor, y
accederemos a ella desde otro ordenador, que será el cliente. Puede estar instalada si lo desea
en el mismo ordenador, pero en ese caso deberá tratarlo como si su ordenador trabajase al
tiempo como servidor y como cliente.
En la base de datos es necesario introducir los nombres de usuario que están permitidos, y la
clave de acceso para cada usuario. Lógicamente para que un puesto pueda acceder a la BD
debe conocer su nombre de usuario y la clave de acceso. Estos datos normalmente se
introducen en el cliente en su configuración, y no es necesario teclearlas cada vez que se inicia
una sesión.
El cliente necesita tener un programa que será el que se comunique con el programa gestor
que está en el servidor. Este programa lo realiza el mismo fabricante de la base de datos y se
distribuye en el mismo disco que el programa servidor y el resto del sistema. A esta parte de la
aplicación cliente – servidor que se instala en cada cliente se le llama Componentes de
Conectividad. Y la misión de estos componentes de conectividad es servir de intermediario
entre el gestor de la base de datos instalado en el servidor, y el programa que en el equipo
cliente va a manejar los datos de esa base de datos. Este programa que va a manejar los datos
puede ser el Administrador Corporativo de SQL Server, el Developper 2000 de Oracle, o una
aplicación realizada por nosotros en Visual Basic. Pero el funcionamiento es siempre el mismo,
el programa que va a manejar los datos en el cliente conecta con el programa Componentes
de Conectividad y es este quien conecta con el Gestor de la Base de Datos para que realice
la operación que tenga que realizar y le devuelva, si ha lugar, la información extraída de la base
de datos. Por lo tanto para poder trabajar desde un cliente con la base de datos, es necesario
que en el servidor esté corriendo el programa gestor de la base de datos, y en el cliente, que
estén instalados los componentes de conectividad.
Los componentes de conectividad, tal como se dijo más atrás, están fabricados por el mismo
fabricante de la BD, pero no se extrañe si encuentra algún programa fabricado por otro
Se le indica que instale el servidor de bases de datos. Al darse cuenta que no tiene Windows
2000, dice que no puede instalar más que los componentes del cliente.
Deje que siga la instalación aceptando todos los aviso que se produzcan. Llegará a esta
ventana:
SQL Server tiene dos discos, Standard y Profesional. El Profesional le permite hacer
instalaciones en equipos remotos, y en ese caso estaría la opción Equipo Remoto habilitada.
No es nuestro caso, ya que solamente debemos instalar en el equipo local. Siga la instalación
en la que en sucesivas ventanas le aparecerá la opción: “Crear una nueva instancia de SQL
Server o instalar herramientas de cliente”. Acepte esa opción. A continuación le pide el nombre
y contraseña. Se refiere a la del equipo, no al de la base de datos. Acepte. Llegará a la
ventana siguiente:
Una vez instalada la conectividad debe asegurarse que desde el cliente ve al servidor y que no
está cerrado el paso al puerto 1433 mediante algún Firewall u otro dispositivo. Ya puede
trabajar con la base de datos SQL Server.
Posiblemente le surja una pregunta ¿Contra que base, en qué servidor, con qué usuario y clave
de acceso? Con lo Ud. ponga en el programa de Visual Basic en la propiedad
ConnectionString del objeto Connection de ADO. Vea un ejemplo real:
Aquí tienen todos los datos necesarios para conocer todas las preguntas que se hacía antes:
Para instalar la conectividad de Oracle ocurre algo parecido a SQL Server. Le recomiendo que
se instruya adecuadamente con los manuales de Oracle para su correcta instalación. No es
complicado, pero este autor no conoce Oracle como SQL Server.
Le pide el idioma:
Le van apareciendo
sucesivas ventanas en
una le pide el directorio
donde quiere instalar el
programa, en otra le pide
permiso para cambiar
una línea del Autoexec,
etc. Acepte los valores
hasta que la instalación
se haya realizado por
completo.
AUTOMATIC_IPC = OFF
TRACE_LEVEL_CLIENT = OFF
names.directory_path = (TNSNAMES)
names.default_domain = world
name.default_zone = world
Fíjese en la línea
names.directory_path = (TNSNAMES)
Tcp-loopback.world =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS =
(COMMUNITY = tcp.world)
(PROTOCOL = TCP)
(Host = 127.0.0.1)
(Port = 1521)
)
)
(CONNECT_DATA = (SID = ORCL)
)
)
Beq-Local.world =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS =
(COMMUNITY = beq.world)
(PROTOCOL = BEQ)
(PROGRAM = oracle73)
(ARGV0 = oracle73ORCL)
(ARGS = '(DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))')
)
)
(CONNECT_DATA = (SID = ORCL)
)
)
Intranet.world =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS =
(COMMUNITY = tcp.world)
(PROTOCOL = TCP)
(Host = 10.3.22.4)
(Port = 1521)
)
(ADDRESS =
(COMMUNITY = tcp.world)
(PROTOCOL = TCP)
(Host = 10.3.22.4)
(Port = 1526)
)
)
(CONNECT_DATA = (SID = SEUE2)
)
)
La parte que afecta a la aplicación en la que me conecto con Oracle es la que comienza por la
linea:
Intranet.world =
Los datos son reales. Pero he de manifestar que no conozco Oracle tan bien como para
explicarlo, y que la instalación la hizo personal de una distribuidora de Oracle. De cualquier
Visual Basic con el que se escribió estas líneas para crear una conexión ADO con esa base de
datos:
ConexBDPrensa.Open
Puede darse cuenta que tanto en SQL Server como en Oracle estamos empleando conexiones
ADO. Podría hacerse también mediante RDO, creando un enlace ODBC (Para poder crear ese
enlace ODBC también es necesario instalar previamente la conectividad). Pero ODBC es una
tecnología que ya está considerada obsoleta, por lo que prescindimos de cualquier ejemplo.
Se sale necesariamente de este curso una explicación más profunda de estas dos bases de
datos.