8/29/2011
Acceso nativo a MySQL Server con VB.Net usando el driver Connector Net
Mostramos algunas de las ventajas e inconvenientes de usar acceso nativo a motores de bases de datos desde aplicaciones Visual Basic .Net. Explicamos los requisitos necesarios para desarrollar una aplicación en Microsoft Visual Basic .Net 2010 que acceda a un servidor de MySQL Server de forma nativa, sin intermediarios (ni ODBC, ni OLE DB). Listamos el código fuente de la aplicación AjpdSoft Acceso nativo MySQL VB.Net.
- Acceso nativo vs Acceso ODBC en MySQL.
- Requisitos para desarrollar aplicación con acceso a MySQL nativo usando Visual Basic .Net y driver Connector/Net.
- Desarrollar aplicación VB.Net con acceso nativo a MySQL Server mediante Connector/Net.
- La aplicación AjpdSoft Acceso nativo MySQL VB.Net en funcionamiento.
- Qué se necesita en el equipo cliente para ejecutar una aplicación VB.Net con acceso nativo a MySQL Server.
- Código fuente completo aplicación AjpdSoft Acceso nativo MySQL VB.Net.
- Artículos relacionados.
- Créditos.
Acceso nativo vs Acceso ODBC / OLE DB en MySQL
Existen varios métodos para conexión de una aplicación a un motor de bases de datos. Estos métodos pueden variar en función de muchos valores como el sistema operativo, el motor de base de datos o el lenguaje de programación usado para desarrollar la aplicación. A continuación exponemos algunas de las ventajas y desventajas de usar acceso nativo y acceso ODBC u OLE DB.
Ventajas de usar acceso nativo a motores de bases de datos
En general, usar el acceso nativo a un motor de bases de datos mejora el rendimiento, puesto que la conexión entre nuestra aplicación y el motor de base de datos es directa y no necesita de intermediarios.
Otra ventaja de usar acceso nativo, normalmente, es que se evita tener que instalar software de terceros, pues normalmente usaremos una librería proporcionada por el motor de base de datos que será la que contenga las clases o API necesaria para el acceso al motor. En cambio, si usáramos acceso ODBC u otro no nativo (OLE DB), tal vez se requiera de la instalación de software adicional. Por ejemplo, para el caso de acceso nativo a MySQL Server usando Visual Basic .Net y el driver Connector/Net, una vez compilado y generado el ejecutable de nuestra aplicación, sólo necesitará el fichero mysql.data.dll en la carpeta del ejecutable para el acceso a MySQL Server.
El acceso nativo a los motores de bases de datos suele ser muy usado para desarrollar aplicaciones con motores embebidos que no requieren de ningún tipo de instalación, de forma que el usuario realiza la descarga de nuestra aplicación y no necesita de instalaciones adicionales, es suficiente con ejecutar el fichero de la aplicación. Muchos de los motores actuales de bases de datos incluyen una versión embebida de su base de datos, que no requiere de instalación en un servidor.
Otra de las ventajas de usar acceso nativo a un motor de base de datos desde nuestra aplicación es que podemos usar todas las caracterísitcas específicas del motor, lo que aumentará las posibilidades de nuestra aplicación.
Inconvenientes de usar acceso nativo a motores de bases de datos
El principal inconveniente es que la aplicación que desarrollemos con acceso nativo al motor de base de datos, por ejemplo a MySQL, nos obligará a usar siempre ese motor de bases de datos. Nuestra aplicación no podrá usar otro motor de base de datos distinto del driver nativo usado para la conexión. Si usamos Connector/Net de MySQL Server para acceso nativo, nuestra aplicación no podrá usar otros motores como Oracle, PostgreSQL, SQLite, Access o SQL Server. Por lo tanto haremos dependiente la aplicación del motor de base de datos.
Por lo tanto perderemos la versatilidad de desarrollar una aplicación que sea independiente del motor de base de datos, por lo que restringiremos considerablemente le uso de la aplicación.
Conclusión acceso nativo vs ODBC ó OLE DB
El usar acceso nativo u otro tipo de acceso a un motor de bases de datos dependerá de las funcionalidades y características de la aplicación que queramos desarrollar, así como del uso y distribución que se le quiera dar a ésta.
Por ejemplo, si vamos a desarrollar una aplicación a medida para una empresa que siempre ha usado el motor de bases de datos MySQL Server y no hay previsión de cambio, tal vez sea recomendable usar acceso nativo, mejorando el rendimiento. En cambio, si queremos desarrollar una aplicación estándar para que sirva al mayor número de usuarios posible, para distribuirla en nuestro sitio web, sería recomendable usar acceso no nativo (ODBC, OLE DB) para hacer la aplicación independiente del motor de base de datos usado y permitir al usuario elegir el que más se ajuste as us necesidades.
En definitiva, el acceso nativo mejora el rendimiento pero limita la aplicación a un motor de base de datos concreto. Es recomendable que el desarrollador conozca a la perfección tanto los distintos métodos de conexión para el motor de base de datos elegido como las necesidades de la empresa o usuarios finales de la aplicación. Una vez adquiridos estos conocimientos podrá elegir el método que mejor se adapte a las necesidades.
Requisitos para desarrollar aplicación con acceso a MySQL nativo usando Visual Basic .Net y driver Connector/Net
A continuación indicamos los requisitos necesarios para desarrollar una aplicación, usando el IDE de desarrollo Microsoft Visual Basic .Net, que acceda de forma nativa (directa sin intermediarios) al motor de base de datos gratuito MySQL Server.
- Suite de desarrollo Microsoft Visual Studio .Net 2010: en el siguiente enlace explicamos cómo instalar este entorno de desarrollo de aplicaciones .Net:
- Driver Connector/Net de MySQL: necesitaremos las librerías proporcionadas por MySQL para acceso nativo desde .Net, disponibles en el sitio web oficial de MySQL, en la URL:
http://dev.mysql.com/downloads/connector/net
En nuestro caso descargaremos la versión 6.4.3 y la plataforma (Select Platform) ".NET & Mono":
La ventana de ".NET & Mono" es que no requiere de instalación, descargaremos un fichero comprimido que descomprimiremos:
- Servidor con MySQL Server: necesitaremos, obviamente, un equipo con el motor de base de datos MySQL instalado y funcionando. En los siguientes enlaces mostramos algunos ejemplos sobre cómo montar un servidor de MySQL Server en varios sistemas operativos:
Desarrollar aplicación VB.Net con acceso nativo a MySQL Server mediante Connector/Net
Para crear una aplicación en Microsoft Visual Basic .Net 2010 con acceso nativo a MySQL Server, pulsaremos en el menú "Archivo" - "Nuevo proyecto":
En "Plantillas instaladas" desplegaremos "Visual Basic" y seleccionaremos "Windows". En la parte derecha, seleccionaremos .Net Framework 4 y "Aplicación de Windows Forms". En la parte inferior introduciremos el nombre para el nuevo proyecto VB.Net, por ejemplo "AjpdSoftAccesoNativoMySQLVB":
Deberemos añadir una referencia a MySQL Connector/Net, para ello en el "Explorador de soluciones" (o bien desde el menú "Proyecto" - "Agregar referencia") pulsaremos con el botón derecho del ratón sobre la solución y seleccionaremos "Agregar referencia":
Seleccionaremos la pestaña "Examinar" y buscaremos el fichero "mysql.data.dll" dentro de la carpeta "v4" de la descarga del driver Connector/Net de MySQL. Seleccionaremos el fichero "mysql.data.dll" y pulsaremos "Aceptar":
Pulsando en la pestaña de ver código fuente del formulario principal (o con la tecla F7), desde el código fuente, al principio, añadiremos el siguiente import:
Imports MySQL.Data.MySqlClient
Con estos pasos tendremos disponible el API para acceso nativo a MySQL Server desde Visual Basic .Net.
Añadiremos los componentes visuales y no visuales al formulario principal de la aplicación:
- TextBox: para introducir el servidor de MySQL Server, el puerto, el usuario, la contraseña.
- ComboBox: desplegable donde se mostrarán los esquemas o bases de datos del servidor MySQL Server al que nos hemos conectado.
- TextBox con Multiline=True: para introducir consulta SQL que se ejecutará.
- RadioButton: para elegir entre consulta SQL que devuelve registros (SELECT) o consulta SQL que no devuelve registros (INSERT, DELETE, UPDATE, DROP, CREATE, ALTER).
- Button: para conectar con servidor, para abrir base de datos y para ejecutar la consulta SQL introducida.
- DataGridView: para mostrar los registros resultantes de una consulta SQLL.
- StatusStrip: barra de estado para mostrar algunos datos adicionales (número de tablas de la base de datos elegida, número de registros de la consulta SQL ejecutada, usuario, servidor y base de datos a la que estamos conectados.
- ToolTip: para mostrar cuadro de ayuda rápida de los elementos del formulario.
A continuación mostramos el código fuente más importante de la aplicación:
- Por un lado declararemos una variable de tipo MySqlConnection al principio de la clase del formulario. Será la que contenga la conexión con el servidor MySQL Server y será usada en los distintos métodos que requieran de conexión:
Friend conexion As MySqlConnection
- Función conectarServidorMySQL para conectar con un servidor MySQL Server de forma nativa, esta función usará la variable declarada al principio de la clase, llamada conexion, la inicializará con "New MySqlConnection" y establecerá los valores de conexión con "ConnectionString". Una vez establecidos realizará la conexión con el método "Open":
Private Sub conectarServidorMySQL() Try conexion = New MySqlConnection() conexion.ConnectionString = "server=" & txtServidor.Text & ";" & "user id=" & txtUsuario.Text & ";" & "password=" & txtContrasena.Text & ";" & "port=" & txtPuerto.Text & ";" & "database=" & lsBD.Text & ";" conexion.Open() If lsBD.Text <> "" Then bePanelNumTablas.Text = CStr(numeroTablas()) End If bePanel2.Text = "Conectado a servidor " & txtServidor.Text Catch ex As Exception MsgBox("Error al conectar al servidor MySQL " & vbCrLf & vbCrLf & ex.Message, MsgBoxStyle.OkOnly + MsgBoxStyle.Critical) End Try End Sub
- Función numeroRegistrosConsulta que obtiene el número de registros de una consulta dada en una variable de tipo MySqlDataReader. Pasándole como parámetro un MySqlDataReader, lo recorrerá y obtendrá el número de registros:
Private Function numeroRegistrosConsulta( _ ByVal dr As MySqlDataReader) As Integer Dim numeroRegistros As Integer = 0 Do While dr.Read numeroRegistros = numeroRegistros + 1 Loop numeroRegistrosConsulta = numeroRegistros End Function
- Función numeroTablas que obtiene el número de tablas de un esquema (base de datos) de MySQL Server, usando la consulta SQL "SHOW TABLES". Esta función usa la clase MySqlCommand para componer el comando SQL "SHOW TABLES" y la clase "MySqlDataReader" para guardar el resultado de la ejecución de la consulta SQL con "ExecuteReader". En el "MySqlDataReader" quedará almacenado el resultado de la consulta SQL. Para obtener el número de tablas usaremos la función anterior numeroRegistrosConsulta:
Private Function numeroTablas() As Integer Dim consultaSQL As MySqlCommand = New MySqlCommand("show tables", conexion) Dim dr As MySqlDataReader = consultaSQL.ExecuteReader() numeroTablas = numeroRegistrosConsulta(dr) dr.Close() End Function
- El botón "btConectar" tendrá el siguiente código en el evento "Click":
Private Sub btConectar_Click(sender As System.Object, e As System.EventArgs) Handles btConectar.Click conectarServidorMySQL() Dim lista As List(Of String) Dim i As Integer lsBD.Items.Clear() If lsBD.Text <> "" Then bePanelNumTablas.Text = "| Nº tablas: " & CStr(numeroTablas()) End If lista = esquemasMySQL() For i = 0 To lista.Count - 1 lsBD.Items.Add(lista.Item(i).ToString) Next End Sub
- El botón "btUsarEsquema" en su evento Click tendrá el siguiente código:
Private Sub btUsarEsquema_Click(sender As System.Object, e As System.EventArgs) Handles btUsarEsquema.Click If lsBD.Text <> "" Then Try If conexion.State = ConnectionState.Open Then conexion.Close() End If conexion.ConnectionString = "server=" & txtServidor.Text & ";" & "user id=" & txtUsuario.Text & ";" & "password=" & txtContrasena.Text & ";" & "port=" & txtPuerto.Text & ";" & "database=" & lsBD.Text & ";" conexion.Open() If lsBD.Text <> "" Then bePanelNumTablas.Text = "| Nº tablas: " & CStr(numeroTablas()) End If bePanel2.Text = "Conectado | " & txtServidor.Text & "@" & lsBD.Text & "@" & txtUsuario.Text Catch ex As Exception MsgBox("Error al conectar al servidor MySQL " & vbCrLf & vbCrLf & ex.Message) End Try Else MsgBox("Debe seleccionar el esquema " & "(base de datos) a usar.", MsgBoxStyle.OkOnly + MsgBoxStyle.Information) lsBD.Focus() End If End Sub
- El botón "btEjecutar" tendrá el siguiente código en su evento "Click":
Private Sub btEjecutar_Click(sender As System.Object, e As System.EventArgs) Handles btEjecutar.Click Dim consultaSQL As MySqlCommand = New MySqlCommand(txtSQL.Text, conexion) 'Consulta SQL que devuelve registros (SELECT) If opDatos.Checked Then Dim ds As DataSet = New DataSet() Dim DataAdapter1 As MySqlDataAdapter = New MySqlDataAdapter() Try DataAdapter1.SelectCommand = consultaSQL DataAdapter1.Fill(ds, "Tabla") DataGridView1.DataSource = ds DataGridView1.DataMember = "Tabla" bePanelNumRegistros.Text = "| Nº registros: " & CStr(ds.Tables(0).Rows.Count) Catch ex As MySqlException MsgBox("Error al ejecutar consulta SQL: " & vbCrLf & vbCrLf & ex.ErrorCode & " " & ex.Message, MsgBoxStyle.OkOnly + MsgBoxStyle.Critical) End Try End If 'Consulta SQL que no devuelve registros '(INSERT, DELETE, UPDATE, CREATE, DROP) If opNoDatos.Checked Then Dim numRegistrosAfectados As Integer Dim comandoSQL As New MySqlCommand Try comandoSQL.Connection = conexion comandoSQL.CommandText = txtSQL.Text numRegistrosAfectados = comandoSQL.ExecuteNonQuery() bePanelNumRegistros.Text = "| Nº registros afectados: " & CStr(numRegistrosAfectados) MsgBox("Consulta SQL ejecutada correctamente en " & "servidor MySQL. Número de registros afectados: " & CInt(numRegistrosAfectados), MsgBoxStyle.OkOnly + MsgBoxStyle.Information) Catch ex As MySqlException MsgBox("Error al ejecutar consulta SQL: " & vbCrLf & vbCrLf & ex.ErrorCode & " " & ex.Message, MsgBoxStyle.OkOnly + MsgBoxStyle.Critical) End Try End If End Sub
En este código mostramos cómo ejecutar una consulta que no devuelve datos (de tipo INSERT, CREATE, DROP, DELETE, UPDATE):
Dim numRegistrosAfectados As Integer Dim comandoSQL As New MySqlCommand Try comandoSQL.Connection = conexion comandoSQL.CommandText = txtSQL.Text numRegistrosAfectados = comandoSQL.ExecuteNonQuery() bePanelNumRegistros.Text = "| Nº registros afectados: " & CStr(numRegistrosAfectados)
El código para ejecutar una consulta SQL que sí devuelve registros (SELECT) y que, además, enlazamos con un componente visual para mostrar el resultado al usuario en un DataGridView:
Dim ds As DataSet = New DataSet() Dim DataAdapter1 As MySqlDataAdapter = New MySqlDataAdapter() Try DataAdapter1.SelectCommand = consultaSQL DataAdapter1.Fill(ds, "Tabla") DataGridView1.DataSource = ds DataGridView1.DataMember = "Tabla"
La aplicación AjpdSoft Acceso nativo MySQL VB.Net en funcionamiento
El funcionamiento de AjpdSoft Acceso nativo MySQL VB.Net es bastante sencillo, ejecutando la aplicación, introduciremos los siguientes datos:
- Servidor: nombre de red (hostname) o dirección IP del servidor de MySQL Server.
- Puerto: puerto de conexión con el servidor de MySQL Server, por defecto 3306.
- Usuario: nombre de usuario de MySQL Server con permisos suficientes para las tareas que queramos realizar.
- Contraseña: contraseña del usuario anterior.
Una vez introducidos los datos anteriores pulsaremos en el botón "Conectar con servidor" para establecer la conexión nativa con el servior de MySQL Server indicado. La aplicación obtendrá los esquemas (bases de datos) a los que tenga acceso el usuario especificado, para trabar un una base de datos la seleccionaremos en el desplegable de "Usar el esquema (BD)" y pulsaremos el botón "Usar el esquema".
Una vez conectados al servidor, introduciremos cualquier consulta SQL (INSERT, DELETE, UPDATE, CREATE, DROP, SELECT), marcaremos el check correspondiente, si la consulta devuelve registros (SELECT) se marcará "Devuelve datos" , en caso contrario se marcará "No devuelve datos". Pulsaremos el botón "Ejecutar" para enviar la consulta SQL al servidor de MySQL Server. Si la consulta devuelve registros los mostrará el el grid de abajo. Si no devuelve registros la aplicación mostrará un mensaje con el número de registros afectados por la consulta SQL:
Qué se necesita en el equipo cliente para ejecutar una aplicación VB.Net con acceso nativo a MySQL Server
Para distribuir nuestra aplicación sin necesidad de instalador, en el equipo donde será ejecutada necesitaremos:
- El ejecutable de la aplicación compilado en Visual Basic .Net.
- El fichero mysql.data.dll descargado con el MySQL Connector/Net
- La versión .Net Framework usada para el proyecto: podremos descargar Microsoft .Net Framework desde:
http://www.microsoft.com/downloads/es-es/details.aspx?FamilyID=9cfb2d51-5ff4-4491-b0e5-b386f32c0992
(la URL puede variar)
Con estos dos ficheros (ejecutable y dll) y el Microsoft .Net Framework descargado he instalado, podremos utilizar la aplicación, por ejemplo, en un equipo con Microsoft Windows XP, sin realizar ninguna instalación (salvo .Net Framework):
Código fuente completo aplicación AjpdSoft Acceso nativo MySQL VB.Net
A continuación mostramos el código fuente (source code) completo de la aplicación de ejemplo AjpdSoft Acceso nativo MySQL VB.Net:
Imports MySql.Data.MySqlClient Public Class formAccesoNativoMySQL Friend conexion As MySqlConnection Private Function numeroRegistrosConsulta( _ ByVal dr As MySqlDataReader) As Integer Dim numeroRegistros As Integer = 0 Do While dr.Read numeroRegistros = numeroRegistros + 1 Loop numeroRegistrosConsulta = numeroRegistros End Function Private Function numeroTablas() As Integer Dim consultaSQL As MySqlCommand = New MySqlCommand("show tables", conexion) Dim dr As MySqlDataReader = consultaSQL.ExecuteReader() numeroTablas = numeroRegistrosConsulta(dr) dr.Close() End Function Private Function esquemasMySQL() As List(Of String) Dim listaEsquemas As List(Of String) listaEsquemas = New List(Of String) Dim consultaSQL As MySqlCommand = New MySqlCommand("SHOW DATABASES", conexion) Dim dr As MySqlDataReader = consultaSQL.ExecuteReader Do While dr.Read listaEsquemas.Add(dr.Item("Database")) Loop esquemasMySQL = listaEsquemas End Function Private Sub conectarServidorMySQL() Try conexion = New MySqlConnection() conexion.ConnectionString = "server=" & txtServidor.Text & ";" & "user id=" & txtUsuario.Text & ";" & "password=" & txtContrasena.Text & ";" & "port=" & txtPuerto.Text & ";" & "database=" & lsBD.Text & ";" conexion.Open() If lsBD.Text <> "" Then bePanelNumTablas.Text = CStr(numeroTablas()) End If bePanel2.Text = "Conectado a servidor " & txtServidor.Text Catch ex As Exception MsgBox("Error al conectar al servidor MySQL " & vbCrLf & vbCrLf & ex.Message, MsgBoxStyle.OkOnly + MsgBoxStyle.Critical) End Try End Sub Private Sub btConectar_Click(sender As System.Object, e As System.EventArgs) Handles btConectar.Click conectarServidorMySQL() Dim lista As List(Of String) Dim i As Integer lsBD.Items.Clear() If lsBD.Text <> "" Then bePanelNumTablas.Text = "| Nº tablas: " & CStr(numeroTablas()) End If lista = esquemasMySQL() For i = 0 To lista.Count - 1 lsBD.Items.Add(lista.Item(i).ToString) Next End Sub Private Sub btEjecutar_Click(sender As System.Object, e As System.EventArgs) Handles btEjecutar.Click Dim consultaSQL As MySqlCommand = New MySqlCommand(txtSQL.Text, conexion) 'Consulta SQL que devuelve registros (SELECT) If opDatos.Checked Then Dim ds As DataSet = New DataSet() Dim DataAdapter1 As MySqlDataAdapter = New MySqlDataAdapter() Try DataAdapter1.SelectCommand = consultaSQL DataAdapter1.Fill(ds, "Tabla") DataGridView1.DataSource = ds DataGridView1.DataMember = "Tabla" bePanelNumRegistros.Text = "| Nº registros: " & CStr(ds.Tables(0).Rows.Count) Catch ex As MySqlException MsgBox("Error al ejecutar consulta SQL: " & vbCrLf & vbCrLf & ex.ErrorCode & " " & ex.Message, MsgBoxStyle.OkOnly + MsgBoxStyle.Critical) End Try End If 'Consulta SQL que no devuelve registros '(INSERT, DELETE, UPDATE, CREATE, DROP) If opNoDatos.Checked Then Dim numRegistrosAfectados As Integer Dim comandoSQL As New MySqlCommand Try comandoSQL.Connection = conexion comandoSQL.CommandText = txtSQL.Text numRegistrosAfectados = comandoSQL.ExecuteNonQuery() bePanelNumRegistros.Text = "| Nº registros afectados: " & CStr(numRegistrosAfectados) MsgBox("Consulta SQL ejecutada correctamente en " & "servidor MySQL. Número de registros afectados: " & CInt(numRegistrosAfectados), MsgBoxStyle.OkOnly + MsgBoxStyle.Information) Catch ex As MySqlException MsgBox("Error al ejecutar consulta SQL: " & vbCrLf & vbCrLf & ex.ErrorCode & " " & ex.Message, MsgBoxStyle.OkOnly + MsgBoxStyle.Critical) End Try End If End Sub Private Sub btUsarEsquema_Click(sender As System.Object, e As System.EventArgs) Handles btUsarEsquema.Click If lsBD.Text <> "" Then Try If conexion.State = ConnectionState.Open Then conexion.Close() End If conexion.ConnectionString = "server=" & txtServidor.Text & ";" & "user id=" & txtUsuario.Text & ";" & "password=" & txtContrasena.Text & ";" & "port=" & txtPuerto.Text & ";" & "database=" & lsBD.Text & ";" conexion.Open() If lsBD.Text <> "" Then bePanelNumTablas.Text = "| Nº tablas: " & CStr(numeroTablas()) End If bePanel2.Text = "Conectado | " & txtServidor.Text & "@" & lsBD.Text & "@" & txtUsuario.Text Catch ex As Exception MsgBox("Error al conectar al servidor MySQL " & vbCrLf & vbCrLf & ex.Message) End Try Else MsgBox("Debe seleccionar el esquema " & "(base de datos) a usar.", MsgBoxStyle.OkOnly + MsgBoxStyle.Information) lsBD.Focus() End If End Sub End Class
Artículos relacionados
- AjpdSoft Acceso nativo MySQL VB.Net.
- AjpdSoft Envío SMS VB.Net.
- Insertar evento de Google Calendar con Visual Basic .Net y Google Data API.
- AjpdSoft Insertar Evento Google Calendar VB.Net.
- Crear proceso en segundo plano con barra de progreso en Visual Basic .Net VB.Net.
- Instalar Visual Studio 2010 y desarrollar aplicación con acceso a PostgreSQL.
- El control de errores en Visual Basic .Net.
- Acceso a MySQL mediante Visual Basic .Net y ODBC.
- Acceso a Oracle mediante Microsoft Visual Basic, RDO y ODBC.
- Insertar y extraer documentos en una tabla Oracle con Visual Basic 6.
- Cambiar marcadores de Word por valores del formulario de una aplicación.
- Exportar ListView a fichero CSV VB.Net.
- Función para reemplazar una cadena de texto dentro de otra - Visual Basic.
- Funciones para leer y escribir en ficheros INI VB.Net.
- Cambiar marcadores de Word por valores del formulario de una aplicación con Visual Basic 6.
- AjpdSoft Envío EMail SSL VB.Net.
- AjpdSoft Conexión BD Visual Basic .Net.
- Tipos de datos en MySQL Server.
- Cómo instalar MySQL Server en Windows XP.
- Cómo instalar MySQL Server 6.0 Alpha en Windows XP.
- Instalar y configurar MySQL Server 5 en Linux Suse 10.
- Cómo instalar MySQL Server en Linux y permitir conexiones remotas.
- Instalar y configurar MySQL Server 5 en Linux Suse 10.
- Exportar una tabla Microsoft Access a MySQL.
- Artículos, manuales y trucos del Proyecto AjpdSoft sobre Microsoft Visual Studio.
- Todos los programas con código fuente en Visual Basic.
- Foro del Proyecto AjpdSoft sobre Visual Basic, Visual Studio .Net, VB.Net.
- Funciones Visual Basic.
- Formulario inicio sesión en Delphi y MySQL, validar usuario en LDAP.
- Cómo insertar ficheros en un campo de una tabla MySQL con Delphi.
Créditos
Artículo realizado íntegramente por Alonsojpd miembro fundador del Proyecto AjpdSoft.
8/26/2011
Instalar Firebird 2.5 x64 en un equipo con Microsoft Windows 7 x64
Cómo montar un servidor de bases de datos usando el motor gratuito Firebird Database Server, versión 2.5.0 de 64 bits. Expliamos cómo instalar Firebird Database Server en un equipo con Microsoft Windows 7 x64. Mostramos también cómo administrar el servidor de base de datos Firebird usando la herramienta gratuita FlameRobin.
Firebird
Firebird es un sistema de administración de bases de datos relacional (RDBMS) de código abierto, basado en la versión 6 de Interbase, cuyo código fue liberado por Borland en el año 2000. Su código fue reescrito de C a C++. El proyecto se desarrolla activamente, el 18 de abril de 2008 fue liberada la versión 2.1, el 26 de diciembre de 2009 fue liberada la versión 2.5.0 RC1 y el 24 de agosto de 2011 fue liberada la versión 2.5.1 (32 y 64 bits).
A finales de la década de 1990, Borland decidió liberar el código de Interbase. Diversos integrantes de la plantilla crearon una nueva empresa denominada IBPhoenix, y junto a otros desarrolladores independientes, crearon el fork ahora conocido como Firebird. Más tarde, Borland decidiría volver a privatizar Interbase y comercializar sus licencias. Sin embargo, Firebird sigue siendo un proyecto de código abierto bajo una licencia similar a la MPL (Mozilla Public License).
Características principales de Firebird
- Es multiplataforma, y actualmente puede ejecutarse en los sistemas operativos: Linux, HP-UX, FreeBSD, Mac OS, Solaris y Microsoft Windows.
- Ejecutable pequeño, con requerimientos de hardware bajos.
- Arquitectura Cliente/Servidor sobre protocolo TCP/IP y otros (embedded).
- Soporte de transacciones ACID y claves foráneas.
- Es medianamente escalable.
- Buena seguridad basada en usuarios/roles.
- Diferentes arquitecturas, entre ellas el Servidor Embebido1 (embedded server) que permite ejecutar aplicaciones monousuario en ordenadores sin instalar el software Firebird.
- Bases de datos de sólo lectura, para aplicaciones que corran desde dispositivos sin capacidad de escritura, como cd-roms.
- Existencia de controladores ODBC, OLEDB, JDBC, PHP, Perl, .net, etc.
- Requisitos de administración bajos, siendo considerada como una base de datos libre de mantenimiento, al margen de la realización de copias de seguridad.
- Pleno soporte del estándar SQL-92, tanto de sintaxis como de tipos de datos.
- Completo lenguaje para la escritura de disparadores y procedimientos almacenados denominado PSQL.
- Capacidad de almacenar elementos BLOB (Binary Large OBjects).
- Soporte de User-Defined Functions (UDFs).
- Versión autoejecutable, sin instalación, excelente para la creación de catálogos en CD-Rom y para crear versiones de evaluación de algunas aplicaciones.
Tipos de servidor en Firebird
Existen dos tipos de servidor Firebird para ser instalados: Classic y Super server. Si bien tienen varias diferencias menores entre sí, la principal consiste en que el super server maneja hilos de ejecución individuales para cada conexión. Por lo tanto para un número reducido de conexiones el recomendado sería el Classic porque consumirá menor cantidad de recursos.
En caso de arquitecturas SMP, se debe utilizar el servidor classic porque el Supersever no tiene soporte para este tipo de arquitectura.
Los propios desarrolladores de Firebird recomiendan lo siguiente a la hora de decidirse por uno de estos servidores:
- En plataformas Windows seleccionar el Super server.
- En Linux simplemente elegir cualquiera, según las conexiones estimadas. En la mayoría de las situaciones no se notará diferencias en la ejecución.
Podría considerarse un tercer tipo, el Embedded. Éste consiste en una única biblioteca de enlace dinámico DLL (de unos 2 MB de tamaño) que contiene todo el servidor. De esta forma se puede tener un DBMS completo disponible y distribuíble junto con aplicaciones de usuario sin requerir que este se instale por separado.
Instalar Firebird 2.5 x64 en Microsoft Windows 7 x64
Descargaremos el fichero de instalación de Firebird Database Server 2.5 desde la web oficial de Firebird, abriendo un navegador web y accediendo a la URL:
http://www.firebirdsql.org/en/firebird-2-5
Seleccionaremos la descarga que más se ajuste a la arquitectura y sistema operativo de nuestro equipo. En nuestro caso seleccionaremos Firebird-2.5.0.26074_1_x64.exe (Windows executable installer for full Superclassic/Classic or Superserver, recommended for firt-time users:
Descargaremos el fichero al equipo que será servidor de Firebird:
Ejecutaremos el fichero descargado, a ser posible como administradores, pulsando con el botón derecho del ratón sobre el fichero y seleccionando "Ejecutar como administrador":
Seleccionaremos el idioma para el asistente de instalación de Firebird y pulsaremos "Aceptar":
Se iniciará el asistente de instalación de Firebird Database Server 2.5.0.26074 (x64), pulsaremos "Siguiente" para continuar:
Leeremos los términos de licencia, si estamos de acuerdo marcaremos "Acepto el acuerdo" y pulsaremos "Siguiente":
El asistente para instalar Firebird Database Server 2.5.0 nos mostrará un documento guía de instalación, pulsaremos "Siguiente" para continuar:
Seleccionaremos la carpeta de destino de los ficheros que compondrán el servidor de Firebird, por defecto:
C:/Archivos de programa/Firebird/Firebird_2_5
Marcaremos la opción "Componentes del Servidor" y seleccionaremos el tipo de servidor que se instalará, las posibilidades:
- Ejecutable Classic Server: recomendado para servidores que van a tener un número reducido de conexiones, consume menos recursos.
- Ejecutable Super Server: recomendable para servidores que van a tener un número alto de conexiones, consume más recursos que el Classic.
Podremos instalar también las "Herramientas de desarrollo y administración", marcaremos las opciones y pulsaremos "Siguiente":
El asistente nos dará la posibilidad de elegir el nombre de la carpeta del Menú Inicio para los accesos directos de Firebird, por defecto "Firebird 2.5 (x64)":
El asistente de instalación nos dará las siguientes posibilidades:
- Usar el Guardian para controlar el servidor: se trata de una herramienta que monitorea el estado del servicio de Firebird y, si éste cae, intentará iniciarlo. En realidad este servicio ya no es neceario pues el propio Windows 7 implementa opciones de reinicio de servicios en caso de detención, aunque Firebird recomienda dejarlo activo. En realidad la utilidad Firebird Guardian se desarrolló para sistemas operativos como Windows 98 donde no existía el concepto de "servicios", Firebird se ejecutaba como aplicación y no como servicio y Firebird Guardan se encagaba de reiniciar el servidor en caso de caída.
- Ejecutar el servidor Firebird como aplicación o como servicio: el asistente de instalación de Firebird Database Server permite el arranque de Firebird mediante sevicio o mediante aplicación. Recomendamos mediante servicio pues es más eficiente.
- Iniciar Firebird automáticamente cada vez que se inicie el sistema: permite que el servicio o la aplicación de Firebird se inicien de forma automática tras iniciar el equipo, es la opción recomendada.
- Instalar el Applet del Panel de Control: permite instalar un acceso directo en el panel de control de Windows para la utilidad Firebird Server Control, desde donde podremos ver el estado ejecución de Firebird, iniciar como servicio o como aplicación, activar o desactivar Guardian y activar o desactivar inicio automático.
- Copiar la librería cliente de Firebird al directorio del sistema: permite copiar la librería (dll) usada para conexiones cliente en la carpeta "System32" de Windows.
- Copiar la librería cliente como GDS32.DLL para soporte de aplicaciones antiguas: permite copiar la librería del cliente con el nombre GDS32DLL para compatibilidad con aplicaciones antiguas que buscarán este fichero para la conexión con el servidor Firebird.
El asistente para instalar Firebird Database Server nos mostrará el resumen de las opciones elegidas, si son correctas pulsaremos "Instalar" para realizar la instalación definitiva:
Tras la instalación de Firebird, el asistente nos mostrará un documento con información sobre Firebird en Windows, pulsaremos "Siguiente":
El asistente nos indicará que ha finalizado el proceso de instalación de Firebird, si queremos que el servidor esté activo a partir de ahora marcaremos "¿Iniciar el servicio Firebird de instalación". Pulsaremos "Finalizar":
Si todo es correcto, en Servicios de Microsoft Windows 7 podremos ver dos servicios de Firebird:
- Firebird Guardian - DefaultInstance: servicio de la herramienta Guardian.
- Firebird Server - DefaultInstance: servicio propio del servidor Firebird Database Server.
Desde el menú Inicio de Windows podremos ver los accesos directos de Firebird, con documentación, desinstalación y la utlidad Firebird ISQL Tool para conexión y administración de bases de datos Firebird en modo comando:
En el Panel de control de Windows podremos ejecutar la herramienta Firebird Server Manager:
Desde donde podremos ver el estado de ejecución del servidor de Firebird y configurar algunas opciones:
Administrar servidor Firebird con FlameRobin en modo gráfico
Descargaremos el fichero de instalación de FlameRobin desde la URL:
http://sourceforge.net/projects/flamerobin/files/0.9.2
Guardaremos el archivo de instalación flamerobin-0.9.2-1-setup-x64.exe:
Ejecutaremos el fichero de instalación de FlameRobin pulsando con el botón derecho sobre él y seleccionando "Ejecutar como administrador":
Se iniciará el asistente de instalacion de FlameRobin 0.9.2 x64, pulsaremos "Next":
Leeremos los términos de licencia, si estamos de acuerdo marcaremos "I accept the agreement" y pulsaremos "Next":
El asistente nos mostrará información que debemos leer antes de continuar con la instalación de FlameRobin, pulsaremos "Next":
Indicaremos la carpeta de instalación de FlameRobin, por defecto:
C:/Archivos de programa/FlameRobin (x64)
Indicaremos el nombre de la carpeta del Menú Inicio de Windows donde se guardarán los accesos directos de FlameRobin, por defecto "Flame Robin (x64)":
Pulsaremos "Next" para continuar y crear los accesos directos también en el Escritorio y la barra de acceso rápido:
El asistente nos mostrará el resumen de las opciones seleccionadas, si son correctas pulsaremos "Install" para realizar la instalación definitiva de FlameRobin:
El asistente nos indicará que la instalación de FlameRobin x64 ha finalizado correctamente, marcaremos "Lauch FlameRobin" para ejecutar esta utlidad tras cerrar el asistente:
En el primer inicio nos indicará que no existe el fichero de configuración, pulsaremos "Aceptar":
Como ejemplo vamos a crear una nueva base de datos Firebird, para ello pulsaremos con el botón derecho del ratón sobre "localhost" (servidor donde tenemos instalado Firebird Database Server) y seleccionaremos "Create new database":
Introduciremos el nombre que se mostrará en FlameRobin para la nueva base de datos en "Display name", en "Database path" indicaremos la unidad, carpeta y nombre del ficher ode la base de datos, por ejemplo:
D:/Firebird/ajpdsoft.fdb
Indicaremos también el nombre de usuario, por defecto sysdba y la contraseña, por defecto masterkey. Pulsaremos "Create" para crear la nueva base de datos Firebird:
Pulsaremos con el botón derecho del ratón sobre la nueva base de datos creada, seleccionaremos "Connect" para conectarnos y administrarla:
Desde esta ventana podremos consultar, modificar y crear cualquier tipo de objeto en la nueva base de datos Firebird: Domains, Exceptions, Functions, Generators, Procedures, Roles, System tables, Tables, Trigger y Views.
Como ejemplo crearemos una nueva tabla, para ello pulsaremos con el botón derecho del ratón sobre "Tables" y seleccionaremos "Create new":
Introduciremos la consulta SQL para crear la nueva tabla, por ejemplo:
una vez introducida la consulta SQL de creación de tabla, pulsaremos el botón "Execute statement" o la tecla de función F4:create table facturas ( numero varchar(20) not null, fecha date, importe float, codigocliente integer )
Si la consulta se ha ejecutado correctamente, para guardar los cambios definitivamente en la base de datos Firebird pulsaremos en el botón "Commit transaction" o la tecla de función F5:
Una vez creada la tabla, podremos insertar registros o realizar consultas (select):
Artículos relacionados
- Instalar y administrar Microsoft SQL Server 2008 R2 Express.
- Instalar PostgreSQL 9.1 en Windows 7, instalar ApachePHP y phpPgAdmin.
- Instalar Oracle Database 11g Release 1 en Microsoft Windows 7.
- Instalar Microsoft SQL Server.
- Cómo instalar MySQL Server 6.0 Alpha en Windows XP.
- Cómo instalar MySQL Server en Linux y permitir conexiones remotas.
- Instalar DB2.
- Instalar Microsoft Windows 7 Ultimate virtualizado en VMware Server 2.0.1.
- Instalar Oracle Database 11g Standard Edition en Windows XP Profesional.
- Instalar Oracle Database 10g R2 x64 en Windows Server 2008 Standard x64.
- Instalar Oracle 11g x64 en Windows Server 2008 R2 Enterprise x64.
- Instalar el motor de bases de datos PostgreSQL en Linux Debian 5.
- Acceso a SQLite 3 mediante Delphi 6 y ZeosDBO en Windows XP.
- Instalar Visual Studio 2010 y desarrollar aplicación con acceso a PostgreSQL.
- Consultas e informes desde Microsoft Access a Excel.
- SQLite 3.6.11, instalación, configuración, acceso mediante ODBC.
- Manual SQL con ejemplos de sentencias SQL Oracle.
- AjpdSoft Administración Bases de Datos.
- AjpdSoft Enciclopedia - Definición ODBC.
- AjpdSoft Enciclopedia - Definición SQL.
- AjpdSoft Enciclopedia - Definición SMP.
- AjpdSoft Enciclopedia - Definición DBMS.
- AjpdSoft Enciclopedia - Definición URL.
Créditos
8/23/2011
Agregar HD a SAN, crear Array, crear unidad lógica, crear host y crear volumen
Explicamos cómo agregar nuevos discos duros a una SAN IBM DS3950. Mostramos cómo crear un nuevo Array en RAID 5 con estos nuevos discos, cómo crear una unidad lógica dentro de este Array. Indicamos cómo crear un nuevo Host en la SAN y cómo crear una unidad de disco en un equipo con Microsoft Windows Server 2008 conectado a esta SAN.
- Requisitos iniciales para asignar un nuevo disco de una SAN a un equipo con Windows Server 2008.
- Recomendaciones antes de realizar el proceso.
- Añadir nuevos discos duros a la cabina de la SAN IBM DS3950.
- Crear un nuevo Array de discos en una SAN IBM DS3950 con RAID 5.
- Crear unidad lógica en Array de SAN IBM DS3950.
- Crear nuevo host en SAN IBM DS3950 para asignar unidad lógica.
- Asociar unidad lógica a host, definir mapeo, presentar unidad a host.
- Crear nuevo volumen en equipo con Windows Server 2008 procedente de la SAN.
- Artículos relacionados.
- Créditos.
Requisitos iniciales para asignar un nuevo disco de una SAN a un equipo con Windows Server 2008
En este artículo crearemos una unidad lógica en una SAN (Storage Area Network) y la asignaremos a un equipo con Microsoft Windows Server 2008, conectado a esta SAN mediante su correspondiente tarjeta HBA.
Por lo tanto, los requisitos para poder agregar una nueva unidad de disco a un equipo servidor procedente de una SAN son:
- Sistema Operativo: el equipo debe disponer de un sistema operativo capaz de aceptar conexiones de disco mediante HBA, tanto Linux como Windows admiten este tipo de discos conectados a SAN. En el artículo usaremos un equipo con el sistema operativo Microsoft Windows Server 2008.
- Drivers: el sistema operativo debe disponer de los drivers (controladores) necesarios para detectar y usar la HBA y la correspondiente característica de Multipath si se disponen de varias tarjetas HBA para el mismo equipo (varios caminos, por redundancia).
- Switch de fibra: donde irán conectados todos los latiguillos de fibra que van a los equipos servidores y a la SAN.
- SAN: por supuesto necesitaremos una SAN, que es un dispositivo diseñado para almacenamiento de datos y acceso a través de fibra. Es una cabina de discos con sistema propio conectada al switch de fibra mediante su tarjeta HBA de forma que cualquier disco de esta SAN puede ser presentado a cualquier servidor conectado a ella mediante su canal de fibra (HBA y switch).
- Discos duros: puesto que vamos a realizar una ampliación de discos en la SAN, en nuestro caso agregaremos cuatro nuevos discos duros, obviamente necesitaremos adquirir estos discos duros.
- Software de administración de la SAN: para poder realizar las operaciones de administración de la SAN (crear nuevo Array de discos, crear unidad lógica, crear host, asignar unidad lógica a host) necesitaremos disponer de un equipo conectado a la misma red LAN que la SAN y con el software IBM System Storage DS Storage Manager.
En el siguiente artículo explicamos estos componentes y cómo instalar y descubrir la SAN para administrarla mediante IBM System Storage DS Storage Manager:
Recomendaciones antes de realizar el proceso
Puesto que vamos a administrar la SAN, antes de realizar este proceso deberemos realizar copia de seguridad de los datos actuales de la SAN. Si bien el proceso que realizaremos no va a suponer la pérdida de datos ni la parada del servicio, es peligroso sobre todo ante fallos humanos al administrar la SAN, por ello es recomendable realizar copia de seguridad de los datos.
Como decimos, durante todo el proceso (incluida la inserción de los discos duros en la cabina de la SAN) no habrá parada de los servicios, la SAN seguirá mostrando el resto de unidades lógicas a los servidores conectados a esta SAN. Siempre que se proceda con precaución el proceso no tiene por qué ser arriesgado.
Añadir nuevos discos duros a la cabina de la SAN IBM DS3950
En primer lugar adquiriremos los discos duros correspondientes y compatibles con la SAN de que dispongamos, en nuestro caso añadiremos cuatro discos duros de 300GB cada uno:
Una vez recibidos los desempaquetaremos, quitaremos las carcasas de protección en la SAN y los insertaremos en los huecos libres (no importa la posición). Este proceso se puede hacer en caliente (online) sin necesidad de detener los servicios conectados a la SAN y sin tener que apagar la propia SAN:
Una vez insertados los discos, desde el software de IBM System Storage DS Storage Manager podremos comprobar que la SAN los ha detectado correctamente:
En nuestro caso los cuatro discos duros aparecen en "blanco" con la base gris, esto indica que los ha detectado pero aún no han sido asignados a un Array:
Crear un nuevo Array de discos en una SAN IBM DS3950 con RAID 5
Para crear un nuevo array de discos, una vez insertados, desde la pestaña "Logical" de IBM System Storage DS Storage Manager, en "Storage Sybsystem" nos mostrará el espacio total de los nuevos discos insertados en "Total Unconfigured Capacity (1,089 TB)". Para crear un nuevo Array de discos seleccionaremos "Total Unconfigured Capacity (1,089 TB)", pulsaremos con el botón derecho y seleccionaremos "Create Array" del menú contextual:
Se iniciará el asistente para crear un nuevo Array, nos mostrará la capacidad no configurada seleccionada, pulsaremos "Next":
En "Array name" introduciremos el nombre descriptivo del nuevo Array (en nuestro caso "Array2"). El asistente nos mostrará dos opciones para la selección de discos:
- Automatic (Recommended): el propio asistente nos dará las opciones recomendas de selección de discos según el RAID que seleccionemos.
- Manual (Advanced): seleccionaremos el espacio y discos de forma manual.
En nuestro caso marcaremos "Automatic (Recommended)" y pulsaremos "Next":
En "Select RAID level" seleccionaremos "RAID 5", el asistente nos dará varias opciones de espacio según el RAID seleccionado, con RAID 5 tendremos la posibilidad de 557GB usando tres discos (y dejando uno libre sin asignar) o bien 836GB usando los cuatro discos. En nuestro caso seleccionaremos la opción de los cuatro discos y pulsaremos "Finish":
El asistente nos indicará que el Array se ha creado. Nos preguntará si queremos crear alguna unidad lógica en el Array creado, pulsaremos en "No" pues la creaemos más adelante:
Con el texto: The array was succesfully created. You must create at least one logical diskDrive before you can use the capacity of the new array. Would you like to create a logical diskDrive using the new array now?
En la pestaña "Logical" podremos consultar el nuevo Array creado "Array2" (RAID 5) de 836GB. Para ver los discos duros físicos asociados a este array pulsaremos con el botón derecho sobre "Free Capacity" y seleccionaremos "View Associated Physical Components":
Nos mostrará la ventana de View Associated Physical Components, con los discos duros correspondientes al array marcados:
Crear unidad lógica en Array de SAN IBM DS3950
Una vez creado el Array de discos en RAID 5 accederemos a la pestaña "Logical" del software IBM System Storage DS Storage Manager, desplegaremos el Array creado (Array2), nos mostrará el espacio libre, pulsaremos sobre él y seleccionaremos en el menú contextual la opción "Create Logical Drive":
El asistente para crear una nueva unidad lógica (logical drive) se iniciará, mostrándonos el espacio libre disponible en el Array de discos seleccionados. Pulsaremos "Next" para continuar:
En "New logical diskDrive capacity" introduciremos el tamaño para la nueva unidad lógica, en nuestro caso crearemos una unidad de 400GB. Indicaremos el nombre descriptivo para la nueva unidad lógica, la usaremos para copia de seguridad de la base de datos de Oracle Database, por lo que en nuestro caso introduciremos en "Logical Drive name", por ejemplo "BackupOracle". Si somos usuarios avanzados podremos marcar la opción "Customize settings (I/O characteristics and controller ownership)", en nuestro caso, para no complicar demasiado el proceso, seleccionaremos "Use recommended settings". Pulsaremos "Next":
A continuación el asistente nos dará la posibilidad de definir el mapping (tipo y a qué host se le presentará) para la nueva unidad lógica o hacerlo más adelante. En nuestro caso marcaremos "Map later using the Mapping View" para mapear la unidad lógica más adelante. Pulsaremos "Finish" para continuar:
El asistente nos indicará que se ha creado la nueva unidad lógica y nos preguntará si queremos crear una nueva unidad, pulsaremos "No":
Con el texto: The new logical diskDrive was successfully created. Do you want to create another logical diskDrive?
El asistente nos mostrará un mensaje tras crear la unidad lógica indicando que podremos crear el mapeo de la unidad posteriormete, pulsaremos "OK":
Con el texto: Use the options in the Mappings View to view/change the current logical diskDrive-to-LUN mappings or assign hosts and LUNs to your logical drives if you are using storage partitions. If you want to change any other logical diskDrive attributes, use the appropiate options under the Logical Drive menu in the Logical/Physical View. Once you have created all desired logical drives, use the appropiate procedures (such as the hot_add utility or other method, and SMdevices) on your hosts to register the logical drives and display associated operating system-specific device names.
El asistente iniciará el proceso de inicialización de la unidad lógica creada, en segundo plano. Pulsando en la unidad lógica "BackupOracle", en la parte inferior derecha, nos mostrará el progreso de inicialización:
Una vez creada e inicializada la unidad lógica podremos consultar sus datos en el Array2 (espacio libre, ID, capacidad, etc.). En este Array también aparecerá el espacio libre disponible:
Crear nuevo host en SAN IBM DS3950 para asignar unidad lógica
Siguiendo con el proceso de creación de unidad lógica y asignación a un equipo servidor, ahora crearemos el host (servidor) en la SAN al que asignaremos la unidad lógica creada anteriormente. Obviamente, si ya tenemos el host definido no será necesario seguir este paso.
Desde la pestaña "Mappings" de IBM System Storage DS Storage Manager, pulsaremos en "Storage Subsystem DS3950" y seleccionaremos "Define" - "Host" en el menú contextual:
Se iniciará el asistente para crear un nuevo host, introduciremos un nombre descritivo para el host en "Host name", por ejemplo SERVERORACLE, marcaremos "Yes" en "Do you plan to use storage partitions on this storage subsystem?". Pulsaremos "Next" para continuar:
En este paso deberemos introducir el identificador de puerto o port identifier de cada una de las tarjetas HBA del equipo servidor conectadas al switch de fibra conectado a su vez a la SAN. Para ello marcaremos "Add by creating a new host port identifier", en "Alias" introduciremos un nombre descriptivo para la tarjeta HBA, por ejemplo "HBA1", pulsaremos "Add?":
Una vez añadidas las HBA pulsaremos "Next":
En "Host type (operating system)" seleccionaremos el sistema operativo del servidor al que presentaremos la unidad lógica, en nuestro caso "Windows 2000/Server 2003/Server 2008 Non-Clustered":
En la siguiente ventana del asistente para agregar un nuevo Host, marcaremos "No - this host will NOT share access to the same logical drives with other hosts". Las posibilidades:
- Yes - this host will share access to the same logical drives with other hosts: este host compartirá las unidades lógicas con otros hosts.
- No - this host will NOT share access to the same logical drives with other hosts: las unidades lógicas asignadas a este host sólo serán accesibles por él.
El asistente nos mostrará un resumen de las opciones seleccionadas para agregar el nuevo host a la SAN, si son correctas pulsaremos "Finish":
Una vez finalizada la creación del host, el asistente nos mostrará un mensaje indicando que el proceso ha finalizado, pulsaremos "No" a la pregunta de si deseamos definir otro host:
Con el texto: The new host was successfully created. Do you want to define another host?
Asociar unidad lógica a host, definir mapping, presentar unidad a host
Una vez creada la unidad lógica y creado el host en la SAN, el siguiente paso será "presentar" la unidad lógica al host para que éste la reconozca en el sistema operativo. Para ello accederemos al software IBM System Storage DS Storage Manager, accederemos a la pestaña "Mappings". En el grupo "Undefined Mappings" aparecerá la unidad lógica creada anteriormente "BackupOracle", pulsaremos sobre ella con el botón derecho del ratón, en el menú emergente seleccionaremos "Define Additional Mapping":
En "Host group or host" seleccionaremos el host creado anteriormente "Host SERVERORACLE", en "Logical unit number (LUN)" seleccionaremos un número identificativo para la unidad lógica (LUN) que no esté ya usado por otra, en nuestro caso "0". En "Logica Drive" seleccionaremos la unidad lógica creada anteriormente "BackupOracle". Pulsaremos "Add":
Tras agregar la unidad lógica al host pulsaremos en "Close" en la ventana de "Define Additional Mapping":
La unidad lógica quedará asignada al Host SERVERORACLE, junto con otras unidades lógicas:
De esta forma ya tendremos la unidad lógica preparada para ser usada por el servidor con Microsoft Windows Server 2008.
Crear nuevo volumen en equipo con Windows Server 2008 procedente de la SAN
Una vez creada la unidad lógica, creado el host en la SAN y asignada la unidad lógica al host, crearemos el volumen en el equipo con Microsoft Windows Server 2008 para que éste reconozca la nueva unidad de la SAN y pueda ser usada.
Para crear el nuevo volumen accederemos al administrador de discos desde el botón "Iniciar" - "Herramientas administrativas" - "Administrador del servidor":
Al acceder al Administrador del servidor, si el servidor está correctamente conectado a la SAN mediante sus correspondientes tarjetas HBA, detectará automáticamente la nueva unidad lógica asignada y nos mostrará el asistente para Inicializar el disco. Marcaremos la opción "MBR (Registro de arranque maestro)" y pulsaremos "Aceptar":
Nota: si no aparece directamente la ventana de inicialización de discos deberemos volver a examinar los discos, pulsando con el botón derecho en "Administración de discos" y seleccionando la opción del menú emergente "Volver a examinar los discos". Con esto debería aparecer la unidad lógica creada y asignada en la SAN. Si no aparece tal vez haya que reiniciar el equipo y revisar los drivers de las tarjetas HBA.
Tras inicializar el disco, pulsaremos con el botón derecho en el espacio "No asignado" y seleccionaremos "Nuevo volumen simple":
Se iniciará el asistente para crear un nuevo volumen simple, pulsaremos "Siguiente":
Indicaremos el tamaño del nuevo volumen, en nuestro caso usaremos todo el espacio disponible (400GB):
Estableceremos la letra que se asignará a la nueva unidad, en nuestro caso "D":
Si queremos que la unidad esté disponible y operativa para guardar datos deberemos formatearla. En este paso el asistente nos da la posibilidad de formatearla, marcaremos la opción "Formatear este volumen con la configuración siguiente". En "Sistema de archivos" seleccionaremos NTFS, en "Tamaño de la unidad de asignación" seleccionaremos "Predeterminado", en "Etiqueta del volumen" introduciremos un nombre descriptivo, por ejemplo "Backup Oracle". Marcaremos la opción "Dar formato rápido" y pulsaremos "Siguiente":
El asistente para crear un nuevo volumen simple nos mostrará todas las opciones elegidas, si son correctas pulsaremos "Finalizar" para crear y formatear la nueva unidad:
Se iniciará el formato (si no hemos marcado la opción de fomrmato rápido el proceso puede tardar unos minutos). Esperaremos a que el formato concluya:
Una vez formateado ya podremos usar la nueva unidad de disco en el servidor con Microsoft Windows Server 2008 como si de una unidad más del equipo se tratara, aunque en realidad está alojada en la SAN:
Artículos relacionados
- Cómo administrar una SAN Storage Area Network de IBM.
- Instalar y testear Windows Server 2008 Enterprise Release Candidate.
- Ampliar y extender un disco duro de una SAN en un equipo con Windows Server 2003.
- Añadir una nueva unidad de disco (disco duro) a Linux Ubuntu Server.
- Instalar Windows Server 2008 64 bits virtualizado con VirtualBox en Linux Ubuntu.
- Cómo convertir un equipo en un NAS gratuitamente con FreeNAS.
- Cómo crear un RAID lógico en Linux Ubuntu 8.04 Hardy Heron.
- Instalación de Windows Server 2003 Enterprise Edition SP2.
- Sustitución servidor almacenamiento en producción siendo controlador de dominio.
- Los atributos de un archivo en Windows sólo lectura, oculto, cifrado, sistema.
- Cómo transferir ficheros entre Windows y Linux mediante FTP.
- Las cuotas de disco en Windows Server 2003, limitar espacio por usuario Windows.
- Cómo conectar dos equipos en red por el puerto paralelo con Windows 98 y XP.
- Instalación y configuración de Windows XP Service Pack 3.
- AjpdSoft Copia de Seguridad.
- AjpdSoft Inventario PCs.
- Artículos del Proyecto AjpdSoft sobre los sistemas operativos de Microsoft Windows.
- AjpdSoft Enciclopedia - Definición SAN.
- AjpdSoft Enciclopedia - Definición RAID.
- AjpdSoft Enciclopedia - Definición HBA.
- AjpdSoft Enciclopedia - Definición Fibre Channel.
- AjpdSoft Enciclopedia - Definición NAS.
- AjpdSoft Enciclopedia - Definición LAN.
- Ajpdsoft Enciclopedia - NTFS.
Créditos
Suscribirse a:
Entradas (Atom)