MTBASE / SYBASE DE COLOMBIA
 
Búsqueda avanzada...
Versión para imprimir Versión para imprimir Enviar vínculo por e-mail Enviar por e-mail Ver atributos del documento Atributos del documento
 

¿Como Conectarse a una Base de Datos SQL Anywhere Studio Usando ADO.NET?

Software Requerido

  • Sybase SQL Anywhere Studio 7.x para Windows o una versión más reciente (éste tutorial usa versión 8.0). Algunas correcciones han sido hechas a Adaptive Server Anywhere para mejorar el uso de ADO.NET. Usted debe aplicar el EBF más reciente para evitar problemas. Para bajar el último EBF:
  1. Abra el siguiente URL en su programa navegador: www.sybase.com.
  2. Del menú izquierdo seleccione Support.
  3. Seleccione EBFs/Updates de la lista de servicios de soporte. Si usted ya tiene una cuenta Web en Sybase, escriba su nombre de usuario y contraseña, de otra manera entre a Create New Account.
  4. Busque el último EBF y bájelo.
  • Archivo asademo.db (incluido con Adaptive Server Anywhere)
  • Origen de datos ODBC de ejemplo para Adaptive Server Anywhere 8.0 (este DSN de ODBC se crea por defecto al instalar Adaptive Server Anywhere)
  • Microsoft Visual Studio .NET versión 7.0
  • Microsoft ADO.NET
  • Windows 98, Me, NT, 2000, o XP

Pasos

  1. Arranque Visual Studio .NET.
  2. Cree un nuevo proyecto:
  • Seleccione Visual C# Projects del lado izquierdo.
  • Seleccione Console Application del lado derecho.
  • Escriba el nombre del proyecto: CustomerDateReader.
  • Escriba la ubicación del proyecto: c:\Temp
  • De click en OK para cerrar la ventana de diálogo New Project.
  1. En su código, usted debe definir el name space System.Data. Aquí es donde residen todas las clases ADO.NET.

Escriba la siguiente directiva using al comienzo de su proyecto:

using System.Data;

  1. La siguiente directiva using requerida es el proveedor de datos OLE DB .NET. iAnywhere Solutions no tiene todavía su propio proveedor OLE DB .NET. Mientras tanto, usted puede usar el proveedor Microsoft OLE DB.NET agregando la siguiente directiva using a su proyecto:

using System.Data.OleDb;

Su código se debe ver así:

using System;
using System.Data;
using System.Data.OleDb;
namespace CustomerDataReader
{
     ///


     /// Summary description for Class1.
     ///

     class Class1
     {
          ///
          /// The main entry point for the application.
          ///

          [STAThread]
          static void Main(string[] args)
          {
                   //
                   // TODO: Add code to start application here
                   //
          }
     }
}

Ahora usted puede escribir el código requerido para establecer comunicación entre Adaptive Server Anywhere y su aplicación C#.

  1. Agregue el siguiente código a la función pública estática void Main() después del comentario //TODO: Add code to start application here:
//Set your connection string
OleDbConnection myConnection = new OleDbConnection(
     @"Data Source=ASA 8.0 Sample;Provider=ASAProv.80");
//open the connection
myConnection.Open();

//Creating command object.
OleDbCommand myCommand = myConnection.CreateCommand();

//Specify query
myCommand.CommandText = "Select fname, lname from Customer";

//DataReader for the command
OleDbDataReader myDataReader = myCommand.ExecuteReader();

//Let's display data
while ( myDataReader.Read())
{
     Console.WriteLine("\t{0}\t{1}",
          myDataReader["fname"],myDataReader["lname"]);
}
myDataReader.Close();
myConnection.Close();

  1. Ejecute el proyecto presionando CTRL+F5.

Usted debe ver el siguiente listado:

                    :
              :
        Dominic Johansen
        Stanley Jue
        Harry Jones
        Marie Curie
        Elizabeth Bordon
        Len Manager
        Tony Antolini
        Tom Cruz
        Janice O'Toole
        Stevie Nickolas
        Philipe Fernandez
        Jennifer Stutzman
        William Thompson
        Press any key to continue

¿Cómo Funciona el Aplicativo?

  • El objeto OleDbConnection 
           OleDbConnection myConnection = new OleDbConnection(
           @"Data Source=ASA 8.0 Sample;Provider=ASAProv.80");

El objeto OleDbConnection crea una conexión entre la aplicación y el proveedor de base de datos y debe ser inicializado antes de que usted pueda utilizar cualquier otro objeto ADO.NET. Este objeto requiere el proveedor, en este caso ASAProv.80. Usted también debe pasar el resto de la cadena de conexión, la cual puede estar contenida en un DSN de ODBC. Si el motor ya está ejecutándose, usted sólo necesita pasar el nombre de usuario y la contraseña, así:

           uid=dba;pwd=sql;

La cadena de conexión se vería similar a la siguiente:

           OleDbConnection myConnection = new OleDbConnection(
           @"Provider=ASAProv.80;uid=dba;pwd=sql");

Si usted necesita que la aplicación arranque el motor cuando usted la ejecute sin usar un DSN de ODBC, la cadena de conexión se vería similar a la siguiente:

            OleDbConnection myConnection = new OleDbConnection(
           @"Provider=ASAProv.80;uid=dba;pwd=sql;dbf=c:\temp\dbfile.db");

El símbolo @ que antecede la cadena de conexión permite que el símbolo '\' del nombre del archivo funcione adecuadamente; de otra manera, se requeriría '\\' dentro de la cadena de conexión.

  • Abrir el objeto Connection

              myConnection.Open()

    Este método es requerido para abrir la conexión entre la aplicación .NET y el proveedor. Si éste método falla, se arroja una excepción:

               'System.Data.OleDb.OleDbException' occurred in system.data.dll

  • Comando SQL
           OleDbCommand myCommand = myConnection.CreateCommand();
       //Specify query
       myCommand.CommandText = "Select fname, lname from Customer";

Una vez la conexión se ha abierto exitosamente, usted puede ejecutar una sentencia SQL. Primero, debe crear un objeto Command para llevar a cabo operaciones de base de datos. Una vez el objeto Command ha sido creado, debe definir la propiedad CommandText. Dado que usted quiere consultar nombre y apellido de los clientes, usted pasa la sentencia SQL a la propiedad CommandText del objeto Command.

  • Objeto DataReader
          OleDbDataReader myDataReader = myCommand.ExecuteReader();

El objeto DataReader es usado en este ejemplo para obtener rápidamente el resultado de una consulta. Este es un objeto de sólo lectura: usted no puede actualizar los datos:

El siguiente código permite visualizar los datos:

while ( myDataReader.Read())
{
       Console.WriteLine("\t{0}\t{1}",
             myDataReader["fname"],myDataReader["lname"]);

}

El método read() del DataReader le permite leer una fila a la vez. retorna true siempre y cuando haya datos para leer; de otra manera, retorna false.

    myDataReader.Close();

    myConnection.Close();

Finalmente, usted cierra los objetos DataReader y Connection.

Atributos del Documento
Resumen: Este documento explica cómo crear dinámicamente una conexión a SQL Anywhere Studio a través de un proyecto C#.
Código: 10117 Última Modificación: Ago 28, 2002
Temas: Programación Tipo de Documento: Documento Técnico
Productos: Adaptive Server Anywhere Versión: 8.0.x
Plataformas: Intel Sistema Operativo: Windows 95/98/2K/NT/Me
 
 Inicio   Sobre MTBASE   Sobre Sybase   Empleos en MTBASE   Mapa del Sitio   Aspectos Legales y Políticas de Privacidad