¿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:
- Abra el siguiente URL en su programa navegador: www.sybase.com.
- Del menú izquierdo seleccione Support.
- 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.
- 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
- Arranque Visual Studio .NET.
- 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.
- 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;
- 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#.
- 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();
- 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
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.
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 |
|