Skip to content

3. Anexos

3.1. Crear un proyecto web con Visual Studio.net en XP familiar

Visual Studio.net permite crear diferentes tipos de proyectos:

Image

Para crear un proyecto de aplicación web, normalmente se elige el tipo [Application Web ASP.NET]. Este tipo de proyecto requiere la presencia de un servidor web IIS local o remoto. Si se trabaja en un equipo Windows XP, este servidor no existe y no es posible instalarlo. Por lo tanto, no se puede crear un proyecto de tipo [Application Web ASP.NET].

Se puede sortear este obstáculo aceptando algunos inconvenientes menores. Basta con:

  • utilizar el servidor web Cassini en lugar del servidor IIS. Está disponible gratuitamente en el sitio web de Microsoft.
  • utilizar un proyecto [Bibliothèque de classes] en lugar del proyecto [Application Web ASP.NET]

Creemos un proyecto sencillo que muestre cómo hacerlo.

  • Crear un proyecto [Bibliothèque de classes]
  • Eliminar [Class1.vb]

Image

  • Añadir un nuevo elemento al proyecto, de tipo [Fichier texte], y llamarlo [demo.aspx]:
  • El archivo [demo.aspx] se reconoce como una página web y se le asocia un editor de páginas. Este tiene dos paneles:
  • [design] para construir gráficamente la página
  • [HTML] para acceder al código de la página

Image

  • seleccionar [Affichage/Code] para mostrar la parte del código VB de la página. No ocurre nada. No se tiene acceso al código VB de la página.
  • Ir al panel [HTML] e introducir el código que conectará la página [demo.aspx] con el código [demo.aspx.vb]:

Image

  • solicitar ver el código de control asociado a la página mediante [Affichage code - F7]. Se obtiene el archivo [demo.aspx.vb]:

Image

  • la página [demo.aspx] ahora se reconoce como una página web [.aspx] con un código [.aspx.vb] asociado.
  • Volvamos al panel [Design] de [demo.aspx] y dibujemos la siguiente página:

Image

La página contiene texto y un componente de servidor de tipo [Label] con el identificador [lblHeure].

  • Pasemos al panel [HTML]. En él encontramos el siguiente código:
<%@ Page codebehind="demo.aspx.vb" inherits="demo.demo" autoeventwireup="false" Language="vb" %>
Démo ASPX, il est
<asp:Label id="lblHeure" runat="server"></asp:Label>

Este código está incompleto desde el punto de vista sintáctico HTML. Completémoslo:

<%@ Page codebehind="demo.aspx.vb" inherits="demo.demo" autoeventwireup="false" Language="vb" %>
<html>
    <head>
        <title>démo ASPX</title></head>
    <body>
        Démo ASPX, il est
        <asp:Label id="lblHeure" runat="server"></asp:Label>
    </body>
</html>
  • Pasemos al código [demo.aspx.vb] para escribir allí el código de control que introducirá la hora en el componente [lblHeure]. Observamos que este no es reconocido por Intellisense, la herramienta de ayuda a la escritura de código.
  • Cerramos [demo.aspx] y [demo.aspx.vb] tras guardarlos previamente y, a continuación, los volvemos a abrir. Pasar al código [demo.aspx.vb]. Esta vez, Intellisense reconoce correctamente el componente [lblHeure] de [demo.aspx] en el código [demo.aspx.vb]. Completar el código:

Image

  • Generar el proyecto mediante [Générer/Générer demo]. Si la generación se realiza correctamente, se generará DLL en la carpeta [bin] del proyecto:

Image

  • Ya estamos listos para las pruebas. Configuramos el servidor Cassini (véase el siguiente párrafo) de la siguiente manera:

Image

El destino del acceso directo a Cassini se define de la siguiente manera:

"E:\Program Files\Microsoft ASP.NET Web Matrix\v0.6.812\WebServer.exe" /path:"D:\temp\07-04-05\demo" /vpath:"/demo"
E:\..\WebServer.exe
la ruta del ejecutable
D:\temp\07-04-05\demo
la ruta de la carpeta del proyecto web de Visual Studio
/demo
la ruta virtual asociada
  • Inicie Cassini. Su icono se instalará en la barra de tareas. Haga clic con el botón derecho del ratón sobre él y seleccione la opción [Show details] para comprobar la correcta configuración del servidor web:

Image

  • Con un navegador, solicitamos la página que hemos creado, introduciendo URL [http://localhost/demo/demo.aspx]. Obtenemos el siguiente resultado:

Image

Hemos conseguido crear una aplicación web en Visual Studio utilizando:

  • un proyecto de tipo [bibliothèque de classes]
  • el servidor web Cassini

Ahora sabemos cómo crear aplicaciones web en equipos que no disponen del servidor IIS, como es el caso de los equipos Windows XP, edición familiar.

3.2. ¿Dónde se puede encontrar el servidor web Cassini ?

Para trabajar con la plataforma .NET de Microsoft, se puede utilizar el servidor web Cassini. Este está disponible a través de un producto llamado [WebMatrix], que es un entorno gratuito de desarrollo web en las plataformas .NET disponible en el URL:

Image

Seguiremos atentamente los pasos de instalación del producto:

  • descargar e instalar la plataforma .NET (1.1 en marzo de 2004)
  • descargar e instalar WebMatrix
  • descargar e instalar MSDE (Microsoft Data Engine), que es una versión limitada de SQL Server.

Una vez finalizada la instalación, el producto [WebMatrix] estará disponible en los programas instalados:

Image

El enlace [ASP.NET] Web Matrix inicia el IDE de desarrollo ASP.NET:

Image

El enlace [Class Browser] inicia una herramienta de exploración de clases .NET:

Image

Para probar la instalación, ejecutemos [WebMatrix]:

Al iniciarse por primera vez, [WebMatrix] solicita las características del nuevo projet.C; esta es su configuración por defecto. Se puede configurar para que no aparezca este cuadro de diálogo al iniciarse. Esto se consigue mediante la opción [File/New File]. [WebMatrix] permite crear plantillas para diferentes aplicaciones web. Arriba, hemos especificado con (1) que queríamos crear una aplicación [ASP.ET Page], que es una página web. Con (2), especificamos la carpeta en la que se colocará esta página web. En (3) indicamos el nombre de la página. Debe tener la extensión .aspx. Por último, en (4), especificamos que queremos trabajar con el lenguaje VB.NET, ya que [WebMatrix] también es compatible con los lenguajes C# y J#. Una vez hecho esto, [WebMatrix] muestra una página de edición del archivo [demo1.aspx]. En ella colocamos el siguiente código:

Image

  • La pestaña [Design] permite «dibujar» la página web que queremos crear. El proceso es similar al de un IDE para la creación de aplicaciones de Windows.
  • El diseño gráfico de la página web en [Design] generará código HTML en la pestaña [HTML]
  • La página web puede contener controles que generen eventos a los que hay que reaccionar, como un botón, por ejemplo. Estos eventos serán gestionados por código VB.NET que se colocará en la pestaña [Code]
  • al final, el archivo demo1.aspx es un archivo de texto que combina el código HTML y el código VB.NET, resultado del diseño gráfico realizado en [Design], del código HTML que se ha podido añadir manualmente en [HTML] y del código VB.NET colocado en [Code]. El archivo completo está disponible en la pestaña [All].
  • Un desarrollador con experiencia en ASP.ET puede crear el archivo demo1.aspx directamente con un editor de texto sin necesidad de utilizar ningún IDE.

Seleccionemos la opción [All]. Observamos que [WebMatrix] ya ha generado código:

<%@ Page Language="VB" %>
<script runat="server">

     ' Insertar código de página aquí
    '

</script>
<html>
<head>
</head>
<body>
    <form runat="server">
         <!-- Insertar contenido aquí -->
    </form>
</body>
</html>

No vamos a intentar explicar este código aquí. Lo transformamos de la siguiente manera:

<html>
<head>
    <title>Démo asp.net </title>
</head>
<body>
    Il est <% =Date.Now.ToString("hh:mm:ss") %>
</body>
</html>

El código anterior es una combinación de HTML y del código VB.NET. Este se ha colocado entre las etiquetas <% ... %>. Para ejecutar este código, utilizamos la opción [View/Start]. [WebMatrix] inicia entonces el servidor web Cassini si aún no está en marcha

Image

Podemos aceptar los valores predeterminados propuestos en este cuadro de diálogo y seleccionar la opción [Start]. El servidor web estará entonces activo. [WebMatrix] iniciará entonces el navegador predeterminado del equipo en el que se encuentra y solicitará el URL http://localhost:8080/demo1.aspx:

Image

Es posible utilizar el servidor Cassini fuera de [WebMatrix]. El ejecutable del servidor se encuentra en <WebMatrix>\<versión>\WebServer.exe, donde <WebMatrix> es el directorio de instalación de [WebMatrix] y <versión> es su número de versión:

Image

Abramos una ventana de DOS y nos situemos en la carpeta del servidor Cassini:

E:\Program Files\Microsoft ASP.NET Web Matrix\v0.6.812>dir
...
29/05/2003  11:00               53 248 WebServer.exe
...

Ejecutemos [WebServer.exe] sin parámetros:

E:\Program Files\Microsoft ASP.NET Web Matrix\v0.6.812>webserver

Aparece una ventana de ayuda:

Image

La aplicación [WebServer], también conocida como servidor web Cassini, admite tres parámetros:

  • /port: número de puerto del servicio web. Puede ser cualquiera. El valor predeterminado es 80
  • /path: ruta física de una carpeta del disco
  • /vpath: carpeta virtual asociada a la carpeta física anterior. Hay que tener en cuenta que la sintaxis no es /path=ruta, sino /vpath:ruta, al contrario de lo que indica el ejemplo [Example] del panel de ayuda anterior.

Colocamos el archivo [demo1.aspx] en la siguiente carpeta:

Image

Asociemos a la carpeta física [d:\data\devel\webmatrix] la carpeta virtual [/webmatrix]. El servidor web podría iniciarse de la siguiente manera:

E:\Program Files\Microsoft ASP.NET Web Matrix\v0.6.812>webserver /port:100 /path:"d:\data\devel\webmatrix" /vpath:"/webmatrix"

El servidor Cassini estará entonces activo y su icono aparecerá en la barra de tareas. Si hacemos doble clic sobre él:

Image

Aparecen los parámetros de inicio del servidor. También existe la posibilidad de detener [Stop] o reiniciar [Restart] el servidor web. Si se hace clic en el enlace [Root URL], se obtiene la raíz del árbol web del servidor en un navegador:

Image

Sigamos el enlace [demos]:

Image

y luego el enlace [demo1.aspx]:

Image

Vemos, pues, que si la carpeta física P=[d:\data\devel\webmatrix] se ha asociado a la carpeta virtual V=[/webmatrix] y el servidor funciona en el puerto 100, la página web [demo1.aspx], que se encuentra físicamente en [P\demos], será accesible localmente a través de URL [http://localhost:100/V/demos/demo1.aspx].

Para no tener que pasar por una ventana DOS para iniciar el servidor Cassini, se puede crear un acceso directo al ejecutable del servidor con propiedades similares a las siguientes:

Image

Cible
"C:\Archivos de programa\Microsoft ASP.NET Web Matrix\v0.6.812\WebServer.exe" /port:80 /path:"D:\data\serge\travail\2004-2005\aspnet\webarticles-010405\version3\web" /vpath:"/webarticles"
Démarrer dans
"C:\Archivos de programa\Microsoft ASP.NET Web Matrix\v0.6.812"

3.3. ¿Dónde encontrar Spring?

El sitio web principal de Spring es [http://www.springframework.org/]. Es el sitio web de la versión Java. La versión .NET, actualmente en desarrollo (abril de 2005), se encuentra en la URL [http://www.springframework.net/].

Image

El sitio de descarga se encuentra en [SourceForge]:

Image

Una vez descargado el archivo zip anterior, descomprímelo:

Image

En este documento, solo hemos utilizado el contenido de la carpeta [bin]:

Image

En un proyecto de Visual Studio que utilice Spring, hay que hacer sistemáticamente dos cosas:

  • colocar los archivos anteriores en la carpeta [bin] del proyecto
  • añadir al proyecto una referencia al ensamblado [Spring.Core.dll]

3.4. ¿Dónde se encuentra Nunit?

La página web principal de Nunit es [http://www.nunit.org/]. La versión disponible en abril de 2005 es la 2.2.0:

Image

Descargue esta versión e instálela. La instalación crea una carpeta donde se encuentra la versión gráfica de prueba:

Lo interesante se encuentra en la carpeta [bin]:

Image

Image

La flecha anterior señala la utilidad gráfica de prueba. La instalación también ha añadido nuevos elementos al repositorio de ensamblados de Visual Studio que vamos a descubrir ahora.

Creemos el siguiente proyecto de Visual Studio:

Image

La clase sometida a prueba se encuentra en [Personne.vb]:

Public Class Personne

     ' campos privados
    Private _nom As String
    Private _age As Integer

     ' constructor por defecto
    Public Sub New()
    End Sub

     ' propiedades asociadas a los campos privados
    Public Property nom() As String
        Get
            Return _nom
        End Get
        Set(ByVal Value As String)
            _nom = Value
        End Set
    End Property

    Public Property age() As Integer
        Get
            Return _age
        End Get
        Set(ByVal Value As Integer)
            _age = Value
        End Set
    End Property

     ' cadena de identidad
    Public Overrides Function tostring() As String
        Return String.Format("[{0},{1}]", nom, age)
    End Function

     ' método init
    Public Sub init()
        Console.WriteLine("init personne {0}", Me.ToString)
    End Sub

     ' método close
    Public Sub close()
        Console.WriteLine("destroy personne {0}", Me.ToString)
    End Sub

End Class

La clase de prueba se encuentra en [NunitTestPersonne-1.vb]:

Imports System
Imports NUnit.Framework

<TestFixture()> _
 Public Class NunitTestPersonne

     ' objeto probado
    Private personne1 As Personne

    <SetUp()> _
    Public Sub init()
         ' se crea una instancia de Persona
        personne1 = New Personne
         ' registro
        Console.WriteLine("setup test")
    End Sub

    <Test()> _
    Public Sub demo()
         ' registro de pantalla
        Console.WriteLine("début test")
         ' inicialización persona1
        With personne1
            .nom = "paul"
            .age = 10
        End With
         ' pruebas
        Assert.AreEqual("paul", personne1.nom)
        Assert.AreEqual(10, personne1.age)
         ' registro de pantalla
        Console.WriteLine("fin test")
    End Sub

    <TearDown()> _
    Public Sub destroy()
         ' seguimiento
        Console.WriteLine("teardown test")
    End Sub

End Class

Hay varias cosas que hay que tener en cuenta:

  • los métodos tienen atributos como <Setup()>, <TearDown()>, ...
  • para que estos atributos sean reconocidos, es necesario que:
    • el proyecto haga referencia al ensamblado [nunit.framework.dll]
    • la clase de prueba importe el espacio de nombres [NUnit.Framework]

La referencia se obtiene haciendo clic con el botón derecho en [References] en el explorador de soluciones:

Image

El ensamblado [nunit.framework.dll] debe aparecer en la lista si la instalación de [Nunit] se ha realizado correctamente. Basta con hacer doble clic en el ensamblado para añadirlo al proyecto:

Image

Una vez hecho esto, la clase de prueba [NunitTestPersonne] debe importar el espacio de nombres [NUnit.Framework]:

Imports NUnit.Framework

A continuación, deben reconocerse los atributos de la clase de prueba [NunitTestPersonne].

  • El atributo <Test()> designa un método que se va a probar
  • el atributo <Setup()> designa el método que se debe ejecutar antes de cada método probado
  • el atributo <TearDown()> designa el método que se debe ejecutar después de cada método probado
  • el método Assert.AreEqual permite comprobar la igualdad de dos entités.Il existen muchos otros métodos de tipo Assert.xx.
  • La utilidad NUnit detiene la ejecución de un método probado tan pronto como falla un método [Assert] y muestra un mensaje de error. De lo contrario, muestra un mensaje de éxito.

Configuremos nuestro proyecto para que genere un DLL:

Image

El DLL generado se llamará [nunit-demos-1.dll] y se colocará por defecto en la carpeta [bin] del proyecto. Generemos nuestro proyecto. Obtenemos en la carpeta [bin]:

Image

Ahora ejecutemos la utilidad de prueba gráfica Nunit. Recordemos que se encuentra en <Nunit>\bin y que se llama [nunit-gui.exe]. <Nunit> designa la carpeta de instalación de [Nunit]. Obtenemos la siguiente interfaz:

Image

Utilicemos la opción de menú [File/Open] para cargar el DLL [nunit-demos-1.dll] de nuestro proyecto:

Image

[Nunit] es capaz de detectar automáticamente las clases de prueba que se encuentran en el archivo DLL cargado. En este caso, encuentra la clase [NunitTestPersonne]. A continuación, muestra todos los métodos de la clase que tienen el atributo <Test()>. El botón [Run] permite ejecutar las pruebas en el objeto seleccionado. Si este es la clase [NunitTestPersonne], se prueban todos los métodos mostrados. Se puede solicitar la prueba de un método concreto seleccionándolo y solicitando su ejecución mediante [Run]. Solicitemos la ejecución de la clase:

Image

Una prueba superada en un método se indica con un punto verde junto al método en la ventana de la izquierda. Una prueba fallida se indica con un punto rojo.

La ventana [Console.Out] de la derecha muestra las pantallas generadas por los métodos probados. En este caso, hemos querido seguir el desarrollo de una prueba:

1
2
3
4
setup test
début test
fin test
teardown test
  • la línea 1 muestra que el método de atributo <Setup()> se ejecuta antes de la prueba
  • las líneas 2-3 son generadas por el método [demo] probado (véase el código más arriba)
  • la línea 4 muestra que el método de atributo <TearDown()> se ejecuta después de la prueba

3.5. ¿Dónde encontrar el SGBD e de Firebird?

El sitio web principal de Firebird es [http://firebird.sourceforge.net/]. La página de descargas ofrece los siguientes enlaces (abril de 2005):

Image

Se descargarán los siguientes elementos:

firebird-win32
el SGBD para Windows
firebird-net-provider
una biblioteca de clases para aplicaciones .NET que permite acceder a SGBD sin pasar por un controlador ODBC.
firebird-ODBC-driver
el controlador ODBC de Firebird

Instale estos elementos. El SGBD se instala en una carpeta cuyo contenido es similar al siguiente:

Image

Los binarios se encuentran en la carpeta [bin]:

Image

fbguard.exe
permite iniciar/detener el SGBD
isql.exe
cliente de línea que permite gestionar bases de datos

Cabe señalar que, por defecto, el administrador de SGBD se llama [SYSDBA] y su contraseña es [masterkey]. Se han instalado menús en [Démarrer]:

Image

La opción [Firebird Guardian] permite iniciar/detener el SGBD. Tras el inicio, el icono del SGBD permanece en la barra de tareas de Windows:

Para crear y utilizar bases de datos Firebird con el cliente de línea [isql.exe], es necesario leer la documentación incluida con el producto en la carpeta [doc]. Una forma más rápida de trabajar con Firebird es utilizar un cliente gráfico. Un ejemplo de este tipo de cliente es IB-Expert, que se describe en el siguiente párrafo.

3.6. ¿Dónde se puede encontrar IB- Expert?

El sitio web principal de Firebird es [http://www.ibexpert.com/]. La página de descargas ofrece los siguientes enlaces:

Image

Elegiremos la versión gratuita [Personal Edition]. Una vez descargada e instalada, dispondremos de una carpeta similar a la siguiente:

Image

El ejecutable es [ibexpert.exe]. Normalmente hay un acceso directo disponible en el menú [Démarrer]:

Image

Una vez iniciado, IBExpert muestra la siguiente ventana:

Image

Utilicemos la opción [Database/Create Database] para crear una base de datos:

Image

Server
puede ser [local] o [remote]. En este caso, nuestro servidor está en la misma máquina que [IBExpert]. Por lo tanto, elegimos [local]
Database
utilizar el botón de tipo [dossier] del menú desplegable para designar el archivo de la base de datos. Firebird guarda toda la base de datos en un único archivo. Esta es una de sus ventajas. La base de datos se transfiere de un equipo a otro simplemente copiando el archivo. El sufijo [.gdb] se añade automáticamente.
Username
SYSDBA es el administrador por defecto de las distribuciones actuales de Firebird
Password
masterkey es la contraseña del administrador SYSDBA de las distribuciones actuales de Firebird
Dialect
el dialecto SQL que se va a utilizar
Register Database
si la casilla está marcada, IBExpert mostrará un enlace a la base de datos creada tras haberla creado

Si al hacer clic en el botón de creación [OK] aparece el siguiente aviso:

Image

es que no ha iniciado Firebird. Inícielo. Aparecerá una nueva ventana:

Image

Server version
[IBExpert] es capaz de gestionar diferentes SGBD derivados de Interbase. Seleccione la versión de Firebird que tenga instalada

Image

Una vez validada esta nueva ventana por [Register], se obtiene el siguiente resultado:

Image

Para acceder a la base de datos creada, basta con hacer doble clic en su enlace. IBExpert muestra entonces un árbol que da acceso a las propiedades de la base de datos:

Image

Creemos una tabla. Hacemos clic con el botón derecho en [Tables] y seleccionamos la opción [New Table]. Aparece la ventana de definición de las propiedades de la tabla:

Empecemos por asignar el nombre [ARTICLES] a la tabla utilizando el campo de entrada [1]:

Utilicemos el campo de entrada [2] para definir una clave primaria [ID]:

Un campo se convierte en clave primaria haciendo doble clic en el campo [PK] (Primary Key) del campo. Añadamos campos con el botón [3]:

Image

Mientras no hayamos «compilado» nuestra definición, la tabla no se creará. Utilicemos el botón [Compile] de arriba para finalizar la definición de la tabla. IBExpert prepara las consultas SQL para la generación de la tabla y solicita confirmación:

Image

Curiosamente, IBExpert muestra las consultas SQL que ha ejecutado. Esto permite aprender tanto el lenguaje SQL como el dialecto SQL, que podría ser propietario. El botón [Commit] permite validar la transacción en curso, mientras que [Rollback] la cancela. Aquí la aceptamos mediante [Commit]. Una vez hecho esto, IBExpert añade la tabla creada al árbol de nuestra base de datos:

Image

Al hacer doble clic en la tabla, se accede a sus propiedades:

Image

El panel [Constraints] nos permite añadir nuevas restricciones de integridad a la tabla. Abrámoslo:

Image

Encontramos la restricción de clave primaria que hemos creado. Podemos añadir otras restricciones:

  • claves externas [Foreign Keys]
  • restricciones de integridad de campos [Checks]
  • restricciones de unicidad de campos [Uniques]

Señalemos que:

  • los campos [ID, PRIX, STOCKACTUEL, STOKMINIMUM] deben ser >0
  • el campo [NOM] debe ser distinto de vacío y único

Abramos el panel [Checks] y hagamos clic con el botón derecho en su área de definición de restricciones para añadir una nueva restricción:

Image

Definamos las restricciones deseadas:

Image

Cabe señalar que la restricción [NOM<>''] utiliza dos apóstrofos y no comillas. Compilemos estas restricciones con el botón [Compile] de arriba:

Image

Una vez más, IBExpert demuestra su carácter didáctico al indicar las consultas SQL que ha ejecutado. Pasemos ahora al panel [Constraints/Uniques] para indicar que el nombre debe ser único:

Image

Definamos la restricción:

Image

Compilémosla. Una vez hecho esto, abramos el panel [DDL] de la tabla [ARTICLES]:

Image

Este proporciona el código SQL de generación de la tabla con todas sus restricciones. Podemos guardar este código en un script para volver a ejecutarlo más adelante:

SET SQL DIALECT 3;
SET NAMES NONE;
CREATE TABLE ARTICLES (
    ID            INTEGER NOT NULL,
    NOM           VARCHAR(20) NOT NULL,
    PRIX          DOUBLE PRECISION NOT NULL,
    STOCKACTUEL   INTEGER NOT NULL,
    STOCKMINIMUM  INTEGER NOT NULL
);
ALTER TABLE ARTICLES ADD CONSTRAINT CHK_ID check (ID>0);
ALTER TABLE ARTICLES ADD CONSTRAINT CHK_PRIX check (PRIX>0);
ALTER TABLE ARTICLES ADD CONSTRAINT CHK_STOCKACTUEL check (STOCKACTUEL>0);
ALTER TABLE ARTICLES ADD CONSTRAINT CHK_STOCKMINIMUM check (STOCKMINIMUM>0);
ALTER TABLE ARTICLES ADD CONSTRAINT CHK_NOM check (NOM<>'');
ALTER TABLE ARTICLES ADD CONSTRAINT UNQ_NOM UNIQUE (NOM);
ALTER TABLE ARTICLES ADD CONSTRAINT PK_ARTICLES PRIMARY KEY (ID);

Ahora es el momento de introducir datos en la tabla [ARTICLES]. Para ello, utilicemos su panel [Data]:

Image

Los datos se introducen haciendo doble clic en los campos de entrada de cada fila de la tabla. Se añade una nueva línea con el botón [+] y se elimina una línea con el botón [-]. Estas operaciones se realizan en una transacción que se valida con el botón [Commit Transaction]. Sin esta validación, los datos se perderán.

IBExpert permite emitir consultas SQL mediante la opción [Tools/SQL Editor] o [F12]. De este modo, se tiene acceso a un editor de consultas SQL avanzado con el que se pueden ejecutar consultas. Estas se almacenan, por lo que es posible volver a una consulta ya ejecutada. A continuación se muestra un ejemplo:

Image

Ejecutamos la consulta SQL con el botón [Execute] de arriba. Obtenemos el siguiente resultado:

Image

Dejaremos aquí nuestras demostraciones. La combinación IBExpert-Firebird resulta excelente para el aprendizaje de bases de datos.

3.7. Instalación y uso de un controlador de ODBC para [Firebird]

3.8. Instalar el controlador

El enlace [firebird-odbc-provider] de la página de descargas de [Firebird] (apartado 3.5) da acceso a un controlador ODBC. Una vez instalado, aparecerá en la lista de controladores ODBC instalados.

3.9. Crear una fuente ODBC

  • ejecutar la herramienta [Démarrer -> Paramètres -> Outil de configuration -> Outils d'administration -> Sources de données ODBC]:

Image

  • Aparecerá la siguiente ventana:

Image

  • Añadamos [Add], una nueva fuente de datos del sistema (panel [System DSN]), que asociaremos a la base de datos Firebird que hemos creado en el apartado anterior:

Image

  • En primer lugar, debemos especificar el controlador ODBC que se va a utilizar. Arriba, seleccionamos el controlador para Firebird y luego hacemos [Terminer]. A continuación, el asistente del controlador ODBC de Firebird toma el control:

Image

  • Rellenamos los distintos campos:

Image

DSN [demo-odbc-firebird]
el nombre DSN de la fuente ODBC - puede ser cualquiera
Database [D:\..\DBARTICLES.GDB]
el nombre de la base de datos Firebird BD que se va a utilizar; utilice [Browse] para designar el archivo .gbd correspondiente
Database Account [SYSDBA]
identificador que se debe utilizar para conectarse a la base de datos
Password [masterkey]
la contraseña asociada a este identificador

El botón [Test connection] permite verificar la validez de la información que hemos proporcionado. Antes de utilizarlo, ejecute el SGBD [Firebird]:

Image

  • valide el asistente ODBC, haciendo [OK] tantas veces como sea necesario

3.10. Probar la fuente ODBC

Hay varias formas de comprobar el correcto funcionamiento de una fuente ODBC. Aquí utilizaremos Excel:

Image

  • utilicemos la opción anterior. Aparece la primera ventana de un asistente de definición de la fuente de datos. El panel muestra las fuentes definidas actualmente en el equipo:

Image

  • Seleccionamos la fuente ODBC [odbc-firebird-articles] que acabamos de crear y pasamos al siguiente paso con [OK]:

Image

  • Esta ventana muestra las tablas y columnas disponibles en la fuente ODBC. Seleccionamos toda la tabla:

Image

  • Pasemos al siguiente paso con [Suivant]:

Image

  • Este paso nos permite filtrar los datos. Aquí no filtramos nada y pasamos al siguiente paso:

Image

  • Este paso nos permite ordenar los datos. No lo hacemos y pasamos al siguiente paso:

Image

  • El último paso nos pregunta qué queremos hacer con los datos. Aquí, los enviamos a Excel:

Image

  • Aquí, Excel nos pregunta dónde queremos colocar los datos recuperados. Los colocamos en la hoja activa a partir de la celda A1. Los datos se recuperan entonces en la hoja de Excel:

Image

Hay otras formas de comprobar la validez de una fuente ODBC. Por ejemplo, se puede utilizar la suite gratuita OpenOffice disponible en URL [http://www.openoffice.org]. A continuación se muestra un ejemplo con un texto OpenOffice:

  • Un icono situado en la parte izquierda de la ventana de OpenOffice permite acceder a las fuentes de datos. La interfaz cambia entonces para mostrar un área de gestión de fuentes de datos:

Image

  • Hay una fuente de datos predefinida, la fuente [Bibliography]. Al hacer clic con el botón derecho del ratón en el área de fuentes de datos, podemos crear una nueva con la opción [Gérer les sources de données]:

Image

  • Un asistente [Gestion des sources de données] permite crear fuentes de datos. Al hacer clic con el botón derecho del ratón en el área de fuentes de datos, podemos crear una nueva con la opción [Nouvelle source de données]:

Image

Nom [odbc-firebird-articles]
un nombre cualquiera. Aquí hemos tomado el nombre de la fuente ODBC
Type de BD [odbc]
OpenOffice es capaz de gestionar diferentes tipos de BD a través de JDBC, ODBC o directamente (MySQL, Dbase, ...). Para nuestro ejemplo, hay que elegir ODBC
URL de la source de données
el botón situado a la derecha del campo de entrada nos da acceso a la lista de fuentes ODBC de la máquina. Seleccionamos la fuente [odbc-firebird-articles]
  • pasamos al panel [ODBC] para definir allí el usuario con cuya identidad se realizará la conexión:

Image

Nom d'utilisateur [sysdba]
el propietario de la fuente ODBC
  • pasamos al panel [Tables]. Se solicita la contraseña. En este caso es [masterkey]:

Image

  • se introduce [OK]. A continuación se muestra la lista de tablas de la fuente ODBC:

Image

  • Se pueden definir las tablas que se mostrarán en el documento [OpenOffice]. Aquí elegimos la tabla [ARTICLES] y creamos [OK]. La definición de la fuente de datos ha finalizado. Aparece entonces en la lista de fuentes de datos del documento activo:

Image

  • Se puede arrastrar con el ratón la tabla [ARTICLES] anterior al texto [OpenOffice]:

Image

3.11. Cadena de conexión de una fuente ODBC Firebird

  • Inicie Visual Studio y solicite que se muestre el explorador de servidores [Affichage/Explorateur de serveurs]:
  • Haga clic con el botón derecho en [Connexion de données] y seleccione la opción [Ajouter une connexion]:

Image

  • en el panel [Provider], indicar que se desea utilizar una fuente ODBC (véase más arriba) y, a continuación, pasar al panel [Connection]:

Image

Use data source name
[demo-odbc-firebird]
seleccionar la fuente ODBC en el menú desplegable. Debería aparecer la que acaba de crearse. Si es necesario, utilizar [Refresh] para actualizar la lista de fuentes ODBC.
User name [SYSDBA]
identificador que se debe utilizar para conectarse a la base
Password [masterkey]
la contraseña asociada a este identificador

Una vez más, el botón [Test Connection] permite verificar la validez de la información:

Image

  • validar el asistente mediante [OK]. La fuente de datos aparecerá entonces en la ventana [Explorateur de serveurs] de Visual Studio:

Image

  • Al hacer doble clic en la tabla [ARTICLES], se accede a los datos de la tabla:

Image

  • si hacemos clic con el botón derecho del ratón en el enlace [Firebird Server D:\temp\... ] y seleccionamos la opción [Propriétés], se accede a las propiedades de la conexión:

Image

  • La cadena de conexión [ConnectString] es una propiedad interesante que conviene conocer, ya que el código .NET la necesita para establecer una conexión con la base de datos. En este caso, dicha cadena de conexión es:
Provider=MSDASQL.1;Persist Security Info=False;User ID=SYSDBA;Data Source=demo-odbc-firebird;Extended Properties="DSN=demo-odbc-firebird;Driver=Firebird/InterBase(r) driver;Dbname=D:\temp\07-04-05\firebird\DBARTICLES.GDB;CHARSET=NONE;UID=SYSDBA"

Muchos elementos de esta cadena de conexión tienen valores por defecto. Nos bastará con la siguiente cadena de conexión:

"DSN=demo-odbc-firebird;UID=SYSDBA;PASSWORD=masterkey"

Con esto concluye nuestra presentación del controlador ODBC de [Firebird].

3.12. ¿Dónde se puede encontrar el SGBD MSDE?

MSDE es la versión gratuita del servidor SGBD SQL de Microsoft. Se encuentra en el URL [http://www.microsoft.com/sql/msde/downloads/download.asp]:

Descargue el archivo de instalación y, a continuación, instale el SGBD haciendo doble clic en el ejecutable descargado. Aparecerá una ventana solicitando la carpeta de instalación. El título es engañoso. Se trata de una carpeta temporal que podrá eliminarse posteriormente:

Lea atentamente el archivo [ReadmeMSDE2000A.htm]. El programa de instalación es el [setup.exe] mencionado anteriormente. Se ejecuta desde la línea de comandos para que se le puedan pasar parámetros. Los principales son los siguientes:

Paramètre
Descripción

SAPWD="MotDePasseRenforcé"
Especifica una contraseña reforzada que se asignará al inicio de sesión de administrador «sa».

INSTANCENAME="NomInstance"
Define el nombre de la instancia. Si no se especifica INSTANCENAME, el programa de instalación instala una instancia por defecto.

Otros parámetros que se utilizan a menudo para personalizar una instalación son:

Paramètre
Descripción

DISABLENETWORKPROTOCOLS=n
Especifica si la instancia aceptará conexiones de red procedentes de aplicaciones que se ejecutan en otros equipos. De forma predeterminada, o si se especifica DISABLENTWORKPROTOCOL=1, el programa de instalación configura la instancia para que rechace las conexiones de red. Especifique DISABLENETWORKPROTOCOLS=0 para habilitar las conexiones de red.
SECURITYMODE=SQL
Especifica que la instancia debe instalarse en modo mixto, es decir, que la instancia admite la autenticación de Windows y la autenticación SQL para las conexiones

DATADIR="chemin_dossier_données"
Especifica la carpeta en la que el programa de instalación instala las bases de datos del sistema, los registros de errores y los scripts de instalación. El valor especificado para chemin_dossier_données debe terminar con una barra invertida (\). Para una instancia predeterminada, el instalador añade MSSQL\ al valor especificado. Para una instancia con nombre, el programa de instalación añade MSSQL$NomInstance\, donde NomInstance es el valor especificado mediante el parámetro INSTANCENAME. El programa de instalación crea tres carpetas en la ubicación especificada: una carpeta Data, una carpeta Log y una carpeta Script.

TARGETDIR="chemin_dossier_exécutables"
Especifica la carpeta en la que el programa de instalación instala los archivos ejecutables de MSDE 2000. El valor especificado para chemin_dossier_exécutables debe terminar con una barra invertida (\). Para una instancia predeterminada, el programa de instalación añade MSSQL\Binn al valor especificado. Para una instancia con nombre, el programa de instalación añade MSSQL$NomInstance\Binn, donde NomInstance es el valor especificado mediante el parámetro INSTANCENAME.

Tras leer las recomendaciones de instalación anteriores, nos situamos en la carpeta donde se han extraído los archivos de instalación y ejecutamos el siguiente comando DOS (uso de SGBD sin red):

dos>setup INSTANCENAME="MSDE140405" SECURITYMODE=SQL SAPWD="azerty"
  • INSTANCENAME="MSDE140405" - este será el nombre de nuestra instancia MSDE. Se pueden instalar varias.
  • SECURITYMODE=SQL: el SGBD funcionará en modo de autenticación mixta. De este modo, podremos conectarnos a MSDE de dos maneras:
    • con una cuenta de administrador de Windows
    • con una cuenta MSDE: en este caso se solicitarán un nombre de usuario y una contraseña. Este será el modo que se utilizará en un programa que se conecte a una base de datos de SGBD.
  • SAPWD="azerty": esta será la contraseña del usuario de SGBD. El usuario [sa] tiene derechos de administración sobre SGBD.

Para utilizar SGBD en red, se habría ejecutado el siguiente comando:

dos>setup INSTANCENAME="MSDE140405" SECURITYMODE=SQL SAPWD="azerty" DISABLENETWORKPROTOCOLS=0

El programa de instalación es minimalista y finaliza sin mostrar ningún mensaje... Sin embargo, se puede ver que SGBD se ha instalado mediante la opción [Menu Démarrer -> Panneau de configuration -> Ajouter et supprimer des programmes]:

Image

La instalación se realiza normalmente en C:\Archivos de programa\Microsoft SQL Server\MSSQL$nomInstance:

En la carpeta [LOG] de la carpeta de instalación, se encuentra el archivo de registros de la fase de instalación de SGBD. En él hay una información importante: el nombre de la instancia MSDE:

2005-04-14 08:14:29.37 spid4     Le nom du serveur est «PORTABLE1_TAHE\MSDE140405».

Es importante conocer este nombre, ya que todos los clientes de SGBD lo necesitarán. A falta de estos registros, se puede encontrar el nombre de un servidor MSDE, que es [machine_windows\nom_instance_MSDE]. El nombre del equipo está disponible en varios lugares. Por ejemplo:

  • haga clic con el botón derecho del ratón en [poste de travail] en el escritorio, seleccione la opción [propriétés] y, a continuación, el panel [Nom de l'ordinateur]:

Image

Aún no sabemos cómo iniciar el servidor MSDE. Normalmente se ha colocado un acceso directo en [Démarrer/Démarrage].

Image

Si miramos las propiedades de este acceso directo, vemos que el destino es el siguiente:

"C:\Program Files\Microsoft SQL Server\80\Tools\Binn\sqlmangr.exe" /n

En la carpeta [ C:\Program Files\Microsoft SQL Server] hay unas subcarpetas:

Image

  • MSSQL$MSDE140405 es la carpeta de la instancia MSDE que acabamos de instalar.
  • MSSQL es la carpeta de una instancia anterior, MSDE. Como no tiene nombre, la llamamos la instancia por defecto.
  • La carpeta [80] es una carpeta común a las diferentes instancias de MSDE instaladas. El destino [sqlmangr.exe] del acceso directo que inicia una instancia de MSDE se encuentra en la carpeta [ 80\Tools\Binn].
Iniciemos MSDE a través del acceso directo de [Démarrer -> Programmes -> Démarrage]. No ocurre prácticamente nada, salvo que se ha instalado un icono en la barra de estado:
Hagamos doble clic en este icono:
El servidor MSDE que se propone aquí es el servidor por defecto
[PORTABLE1_TAHE] presente en el equipo. Recordemos que
el servidor MSDE que hemos instalado se llama
[PORTABLE1_TAHE\MSDE140405]. Cambiamos el
nombre del servidor en el campo correspondiente:
Si todo va bien, se debe iniciar la instancia [MSDE140405]:

Podemos realizar una primera comprobación. En la misma carpeta en la que se encuentra [sqlmangr.exe], hay un cliente de consola [osql.exe] que permite conectarse a un servidor MSDE y enviar comandos SQL. Durante la instalación, asignamos la contraseña [azerty] al administrador [sa] de nuestro servidor MSDE. Mediante el cliente de consola, nos conectaremos al servidor recién instalado. Si ejecutamos el comando [osql -?], se muestra la lista de parámetros posibles:

C:\Program Files\Microsoft SQL Server\80\Tools\Binn>osql -?
utilisation : osql
  [-U ID de connexion]
  [-P mot de passe]
  [-S serveur]
  [-H nom de l'hôte]
  [-E connexion approuvée]
  [-d utiliser le nom de la base de données]
  [-l limite du temps de connexion]
  [-t limite du temps de requête]
  [-h en-têtes]
  [-s séparateur de colonnes]
  [-w largeur de colonne]
  [-a taille du paquet]
  [-e entrée d'écho]
  [-I Activer les identificateurs marqués]
  [-L liste des serveurs]
  [-c fin de cmd]           [-D nom ODBC DSN]
  [-q "requête cmdline"]
  [-Q "requête cmdline" et quitter]
  [-n supprimer la numérotation]
  [-m niveau d'erreur]
  [-r msgs vers stderr]
  [-V severitylevel]
  [-i fichier d'entrée]
  [-o fichier de sortie]
  [-p imprimer les statistiques]  [-b abandon du lot d'instruction après erreur]

  [-X[1] désactive les commandes [et quitte avec un avertissement]]
  [-O utiliser le comportement Old ISQL désactive les éléments suivants]
      <EOF> traitement par lot d'instructions
      Mise à l'échelle automatique de la largeur de la console
      Messages larges
      niveau d'erreur par défaut de  -1 au lieu de 1
  [-? description de la syntaxe]

Iniciemos el servidor [MSDE140405] como se ha indicado anteriormente y, a continuación, en una ventana de DOS, utilicemos [osql] para conectarnos al servidor [portable1_tahe\msde140405] con la identidad [sa, azerty]:

C:\Program Files\Microsoft SQL Server\80\Tools\Binn>OSQL.EXE -U sa -S portable1_tahe\msde140405 -P azerty
1>

El indicador [1>] indica que [osql] está esperando un comando. Estamos correctamente conectados. Para utilizar correctamente [osql], hay que consultar la documentación de MSDE. Existe en diferentes formatos (pdf, htmlhelp, etc.). Esta documentación es muy extensa. Por lo general, es preferible utilizar un cliente gráfico para trabajar con una base MSDE. Esto es lo que se propone más adelante. Para salir de [osql], se utiliza el comando [exit]:

1> exit

Ahora veremos cómo crear bases de datos en el servidor MSDE recién instalado. Antes de eso, presentaremos brevemente una herramienta [MSDE Manager] que permite modificar el modo de autenticación de un servidor MSDE. De hecho, si se instala un servidor de este tipo con las opciones de instalación predeterminadas, el modo de autenticación del servidor es de tipo [authentification windows]. Este tipo de autenticación solo permite el acceso a usuarios identificados en el equipo Windows (posiblemente a través de un dominio). Para un programa VB.NET que desea conectarse a una base de datos para explotar su contenido, este modo resulta poco práctico. La situación es aún peor para las aplicaciones Java que acceden al SGBD a través de un controlador JDBC. En ese caso, es preferible la autenticación mixta, que, además de la autenticación anterior, acepta pares (nombre de usuario, contraseña) declarados en el SGBD. La herramienta [MSDE Manager] permite realizar esta operación.

3.13. ¿Dónde se encuentra MSDE Manager?

[MSDE Manager] es una herramienta de administración de SGBD MSDE. Se encuentra en URL [http://www.valesoftware.com/].

Descargamos la versión gratuita siguiendo el enlace anterior:

Image

Image

La versión de prueba tiene una duración limitada. Esto nos viene bien, ya que solo la utilizaremos para una única acción muy concreta. Descargamos e instalamos el producto. Se crea un acceso directo en el escritorio. Lo utilizamos para iniciar MSDE Manager. Tras pasar las primeras ventanas, llegamos a esta:

Image

  • inicie el servidor MSDE140405
  • debes estar conectado al equipo Windows como administrador
  • Haga clic con el botón derecho en el enlace [SQL Server Group] y seleccione la opción [New SQL Server Registration]:

Image

Image

Aparecerá la siguiente página de propiedades:

Server Name 
portable1_tahe\msde140405 - nombre de la instancia MSDE a la que desea conectarse
Connection 
Autenticación de Windows: este modo siempre está disponible y permite a un administrador del equipo Windows conectarse al servidor MSDE
Server Group 
Seleccione el único grupo de servidores que se muestra [SQL Server Group]

Una vez que se hace clic en [OK], se muestra el árbol de propiedades del servidor MSDE140405:

Image

Podríamos empezar a crear bases de datos. No lo haremos porque utilizaremos otro producto, un clon del producto IBExpert ya estudiado. Simplemente cambiaremos el modo de autenticación de MSDE. Haga clic con el botón derecho del ratón en el servidor MSDE140405 anterior y seleccione la opción [Design]:

Image

Aparece la siguiente ventana de información:

Image

El panel [General] ofrece información sobre el servidor MSDE al que estamos conectados. La página [Security] es la que nos interesa:

Image

Hay que asegurarse aquí de que el modo de autenticación de MSDE sea efectivamente [SQL Server and Windows]. De este modo, podremos conectarnos a MSDE de dos maneras:

  • con una cuenta de administrador de Windows —esto es lo que se ha hecho aquí—
  • con una cuenta de MSDE: en este caso se solicitarán un nombre de usuario y una contraseña. Este será el modo que se utilizará en un programa que se conecte a una base de datos de SGBD.

Confirmamos esta elección y salimos de MSDE Manager. Ya no lo necesitaremos. Para crear bases de datos MSDE, utilizaremos otra herramienta: EMS MS SQL Manager.

3.14. ¿Dónde se puede encontrar EMS MSSQL Manager?

EMS MS SQL Manager es una herramienta gráfica que permite trabajar con el SGBD Microsoft SQL Server y, por lo tanto, con MSDE. Es muy similar a la herramienta IB-Expert descrita anteriormente. Está disponible en la versión URL [http://sqlmanager.net/] (abril de 2005):

Image

El sitio ofrece gestores de administración para numerosos SGBD. Siga el enlace [MS SQL Manager]:

Image

Arriba, elegimos la versión ligera del producto. Descárgala e instálala. Tendrás una carpeta similar a la siguiente:

Image

El ejecutable es [MsManager.exe]. Normalmente hay un acceso directo disponible en el menú [Démarrer]:

Image

Una vez iniciado, MS SQL Manager muestra la siguiente ventana:

Image

Empecemos por registrar el servidor MSDE en el que queremos trabajar con la opción [Database/Register Host]:

Comentarios:

  • paso 1: como se ha mencionado, MSDE admite dos modos de autenticación: Windows y SQL Server. En el modo [windows], se utilizan las cuentas del equipo Windows. En el modo [SQL Server], se utilizan las cuentas de SGBD. [SQL Server] puede funcionar en modo [Windows] o en modo mixto [Windows, SQL Server]. El modo de autenticación [Windows] sigue existiendo. El modo de autenticación mixto, por su parte, no siempre está activo. Hemos visto cómo activarlo con MSDE Manager. En el ejemplo anterior, la conexión se realizó con una cuenta de administrador.
  • Paso 2: una vez completada la autenticación, se proponen las bases de datos predeterminadas de MSDE. Arriba, se han seleccionado todas.

Comentarios:

  • Paso 3: se pueden seleccionar opciones de administración de las bases de datos elegidas. Aquí se han conservado las opciones propuestas por defecto.
  • Paso 4: registramos el servidor MSDE con el botón [Register]

El servidor MSDE aparece entonces en el explorador de bases de datos:

Image

Utilicemos la opción [Database/Create Database] para crear una base de datos:

Paso 2:

Cuando aparece esta página de información, la base [dbarticles] se ha creado. Podemos comprobarlo con el botón [Test Connect]. En el campo [Database alias] podemos poner lo que queramos. Aquí hemos indicado:

  • el nombre de la base de datos
  • el nombre del servidor MSDE en el que se encuentra
  • el usuario [admarticles] que será el propietario de esta base y su contraseña [mdparticles]. Este usuario aún no se ha creado, pero se creará próximamente.

Paso 3:

  • con el botón [Register] registramos la nueva base de datos en [MS SQL Server ]. Tras el registro, la base de datos [admarticles] aparece en la lista de bases de datos. Al hacer doble clic sobre ella, se muestra el árbol de sus propiedades.

Creemos un nuevo usuario de conexión que será administrador de la base de datos [admarticles].

  • Seleccione la opción [Tools/Login manager]:

Image

  • Se observa que ya hay dos cuentas definidas:
    • [BUILTIN\Administrateurs]: este usuario utiliza autenticación de Windows. Representa a los administradores del equipo Windows en el que se encuentra el servidor MSDE
    • sa: este inicio de sesión utiliza autenticación SQL. Por defecto, es el administrador del servidor MSDE. Recordemos que, según la configuración de la instalación de SGBD MSDE, su contraseña es [azerty].
  • Hacemos clic con el botón derecho en el área de inicios de sesión y añadimos un nuevo inicio de sesión:
  • Aparece una hoja de datos en la que definimos las características del nuevo inicio de sesión:

Image

  • Nombre de usuario: admarticles
  • Contraseña: mdparticles
  • Una vez pulsado el botón [OK], MS Manager nos muestra las consultas SQL que va a ejecutar:

Image

El lenguaje SQL presentado anteriormente es Transact-SQL, el lenguaje SQL de MSDE. Solicitamos la ejecución de este código mediante [OK]

  • el nuevo inicio de sesión se inserta en la lista de inicios de sesión:

Image

  • en la ventana de propiedades de la base de datos [dbarticles], hacemos clic con el botón derecho en [users] para crear un usuario con derechos sobre la base de datos [dbarticles]:

Image

  • A continuación, aparecerá la siguiente ventana:

Image

  • En el menú desplegable [Login] aparece la lista de inicios de sesión existentes. Seleccionamos el inicio de sesión [admarticles].
  • En [Name] se indica un nombre de usuario. Se pueden asociar varios usuarios a un mismo inicio de sesión. Por lo tanto, en MSDE, la creación de un usuario pasa primero por la creación de un inicio de sesión. El panel [User] queda así:

Image

  • Pasemos ahora al panel [Member Of], que nos permitirá definir los derechos de nuestro usuario:

Image

  • No soy un usuario habitual de MSDE y desconozco el significado exacto de cada uno de los roles propuestos en la ventana de la izquierda. El rol [db_owner] resulta tentador (owner = propietario). Por lo tanto, lo elegimos para nuestro usuario [admarticles]:

Image

  • Confirmamos nuestras selecciones con el botón [Compile] situado arriba. Las consultas SQL presentadas para su ejecución son las siguientes:

Image

  • Las compilamos mediante [OK]. Ahora tenemos un usuario de la base [dbarticles]:

Image

  • Ahora creemos una tabla. Hacemos clic con el botón derecho en [Tables] y seleccionamos la opción [New Table]. Aparece la ventana de definición de las propiedades de la tabla:

Image

  • Empecemos por asignar el nombre [ARTICLES] a la tabla utilizando el campo de entrada [Table Name]. Pasemos ahora al panel [Fields]:

Image

  • definamos los siguientes campos:

Image

Mientras no hayamos «compilado» nuestra definición, la tabla no se creará. Utilicemos el botón [Compile] de arriba para finalizar la definición de la tabla. [MS SQL Manager] prepara las consultas SQL para la generación de la tabla y solicita confirmación:

Image

Curiosamente, [MS SQL Manager] muestra las consultas SQL que ha ejecutado. Esto permite aprender al mismo tiempo el lenguaje Transact-SQL. El botón [Commit] permite validar la transacción en curso, mientras que [Rollback] la cancela. Aquí la aceptamos mediante [Commit]. Una vez hecho esto, [MS SQL Manager] añade la tabla creada al árbol de nuestra base de datos:

Image

Al hacer doble clic en la tabla, se accede a sus propiedades:

Image

El panel [Checks] nos permite añadir nuevas restricciones de integridad a la tabla. Para la tabla [ARTICLES] vamos a crear las siguientes restricciones:

  • los campos [ID, PRIX, STOCKACTUEL, STOKMINIMUM] deben ser >=0
  • el campo [NOM] debe ser distinto de vacío

En el panel [Checks], hagamos clic con el botón derecho en su área en blanco para añadir una nueva restricción [New check]:

Image

  • La hoja de edición de restricciones tiene el siguiente aspecto:

Image

Nombre: nombre de la restricción

Tabla: tabla sobre la que se aplica la restricción

Definición: expresión de la restricción

La restricción se compila mediante el botón [Compile] situado arriba.

  • De nuevo, [MS SQL Manager] muestra los comandos SQL ejecutados:

Image

  • Se validan con el botón [Commit] (no representado). Si volvemos al panel [Checks] de la tabla [ARTICLES], aparece la nueva restricción:

Image

  • Definimos del mismo modo las demás restricciones para obtener finalmente la siguiente lista:

Image

Una vez hecho esto, abramos el panel [DDL] de la tabla [ARTICLES]:

Image

Este proporciona el código Transact-SQL para generar la tabla con todas sus restricciones. Podemos guardar este código en un script para volver a ejecutarlo más adelante:

CREATE TABLE [ARTICLES] (
  [id] int NOT NULL,
  [nom] varchar(20) COLLATE French_CI_AS NOT NULL,
  [prix] float(53) NOT NULL,
  [stockactuel] int NOT NULL,
  [stockminimum] int NOT NULL,
  CONSTRAINT [ARTICLES_uq] UNIQUE ([nom]),
  PRIMARY KEY ([id]),
  CONSTRAINT [ARTICLES_ck_id] CHECK ([id] > 0),
  CONSTRAINT [ARTICLES_ck_nom] CHECK ([nom] <> ''),
  CONSTRAINT [ARTICLES_ck_prix] CHECK ([prix] >= 0),
  CONSTRAINT [ARTICLES_ck_stockactuel] CHECK ([stockactuel] >= 0),
  CONSTRAINT [ARTICLES_ck_stockminimum] CHECK ([stockminimum] >= 0)
)
ON [PRIMARY]
GO

Ahora es el momento de introducir algunos datos en la tabla [ARTICLES]. Para ello, utilicemos su panel [Data]:

Image

El botón [+] permite añadir una línea, mientras que el botón [-] permite eliminarla. Los datos se introducen simplemente escribiendo en los campos de cada línea de la tabla. Una línea se valida con el botón [Post Edit] que se encuentra a continuación:

Image

Creemos dos artículos:

Image

[MS SQL Manager] permite emitir consultas SQL mediante la opción [Tools/Show SQL Editor] o [F12]. De este modo, se tiene acceso a un editor de consultas SQL avanzado con el que se pueden ejecutar consultas. Estas se almacenan, por lo que es posible volver a una consulta ya ejecutada. He aquí un ejemplo:

Image

Ejecutamos la consulta SQL con el botón [Execute] de arriba. Obtenemos el siguiente resultado:

Image

Dejaremos aquí nuestras demostraciones. El par [MS SQL Manager - MSDE], al igual que el par [IBExpert - Firebird], también resulta excelente para el aprendizaje de bases de datos.

3.15. Crear una fuente ODBC [MSDE]

El controlador ODBC para SQL Server suele venir instalado de forma predeterminada en los equipos Windows.

  • Ejecutar la herramienta [Démarrer -> Paramètres -> Outil de configuration -> Outils d'administration -> Sources de données ODBC]:

Image

  • Aparecerá la siguiente ventana:

Image

  • Añadamos [Add], una nueva fuente de datos del sistema (panel [System DSN]), que asociaremos a la base MSDE que hemos creado en el párrafo anterior:

Image

  • En primer lugar, debemos especificar el controlador ODBC que se va a utilizar. Arriba, elegimos el controlador para [SQL Server] y luego hacemos [Terminer]. A continuación, toma el control el asistente del controlador ODBC de [SQL Server]:

Image

  • Rellenamos los distintos campos:
Nom [odbc-msde-articles]
El nombre de la fuente ODBC: puede ser cualquiera
Description
puede ser cualquiera
Serveur SQLMap
portable_tahe\msde140405
nombre del servidor MSDE que contiene los datos de la fuente ODBC
  • se crea [Suivant] para proporcionar nueva información:

Image

  • Rellenamos los distintos campos:
Authentification SQL Server
indicamos que nos conectaremos a la fuente de datos ODBC con un nombre de usuario declarado en el servidor MSDE
ID de connexion [admarticles]
inicio de sesión de usuario
Mot de passe [mdparticles]
contraseña de usuario
  • Cabe destacar que utilizamos por primera vez el usuario (admarticles, mdparticles) creado en un apartado anterior. Volvemos a ejecutar [Suivant] para obtener la siguiente hoja:

Image

  • Rellenamos los distintos campos:
Changer la base ...
Seleccionamos la base [dbarticles] como base por defecto para el usuario [admarticles]
  • introducimos [Suivant] para obtener la siguiente hoja nueva:

Image

  • Aceptamos los valores por defecto y creamos [Terminer]. Se muestra un resumen de las características de la fuente ODBC que se va a crear:

Image

  • El botón [Tester la source de données] nos permite verificar la validez de nuestra información. Compruebe que se ha iniciado MSDE y, a continuación, pruebe la conexión:

Image

  • Ahora estamos seguros de que se reconoce el par [admarticles, mdparticles].

Para realizar pruebas adicionales, el lector puede seguir el procedimiento explicado en el apartado 3.10.

3.16. Cadena de conexión a una base de datos MSDE

  • Inicie Visual Studio y solicite que se muestre el explorador de servidores [Affichage/Explorateur de serveurs]:
  • Haga clic con el botón derecho en [Connexion de données] y seleccione la opción [Ajouter une connexion]:

Image

  • En el panel [Provider], indique que desea utilizar una fuente SQL Server y, a continuación, pase al panel [Connection]. Tenga en cuenta que aquí no se utiliza un controlador ODBC.

Image

Nom de serveur
[portable1_tahe\msde140405]
nombre del servidor MSDE al que nos conectamos
Nom d'utilisateur [admarticles]
identificador que se debe utilizar para conectarse a la base de datos
Mot de passe [mdparticles]
la contraseña asociada a este identificador
base de données [dbarticles]
la base de datos con la que se desea trabajar

Un botón [Tester la connexion] permite verificar la validez de la información:

Image

  • validar el asistente mediante [OK]. Curiosamente, una nueva ventana solicita los datos de conexión:

Image

  • las volvemos a introducir y ejecutamos [OK]. La fuente de datos aparece entonces en la ventana [Explorateur de serveurs] de Visual Studio:

Image

  • Al hacer doble clic en la tabla [ARTICLES], se accede a los datos de la tabla:

Image

  • si hacemos clic con el botón derecho del ratón en el enlace [portable1_tahe\msde140405.dbarticles.admarticles] del panel [Explorateur de serveurs] y seleccionamos la opción [Propriétés], se accede a las propiedades de la conexión:

Image

  • La cadena de conexión [ConnectString] es una propiedad interesante que conviene conocer, ya que el código .NET la necesita para abrir una conexión a la base de datos. En este caso, dicha cadena de conexión es:
Provider=SQLOLEDB.1;Persist Security Info=False;User ID=admarticles;Initial Catalog=dbarticles;Data Source=portable1_tahe\msde140405;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=PORTABLE1_TAHE;Use Encryption for Data=False;Tag with column collation when possible=False

Muchos elementos de esta cadena de conexión tienen valores por defecto. Nos bastará con la siguiente cadena de conexión:

"Provider=SQLOLEDB.1;Persist Security Info=False;User ID=admarticles;Initial Catalog=dbarticles;Data Source=portable1_tahe\msde140405;PASSWORD=mdparticles"