Foros del Web » Programación para mayores de 30 ;) » .NET »

Conexion a Sybase

Estas en el tema de Conexion a Sybase en el foro de .NET en Foros del Web. Hola a Todos, Me pueden por favor indicar que se necesita o que debo instalar para poder conectarme a una Base de Datos Sybase bajo ...
  #1 (permalink)  
Antiguo 22/01/2007, 14:01
 
Fecha de Ingreso: junio-2006
Mensajes: 10
Antigüedad: 17 años, 11 meses
Puntos: 0
De acuerdo Conexion a Sybase

Hola a Todos,

Me pueden por favor indicar que se necesita o que debo instalar para poder conectarme a una Base de Datos Sybase bajo .Net 2003.

Les agradezco mucho....
  #2 (permalink)  
Antiguo 02/06/2008, 10:41
 
Fecha de Ingreso: noviembre-2007
Ubicación: Puerto Varas, Chile
Mensajes: 19
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: Conexion a Sybase

Uff ahora yo también tengo esa misma duda, no hay alguien que pueda decirnos como? he encontrado unos ejemplo que utilizan ODBC pero no me sirven.

Última edición por _James_; 02/06/2008 a las 10:54
  #3 (permalink)  
Antiguo 02/06/2008, 11:34
 
Fecha de Ingreso: noviembre-2007
Ubicación: Puerto Varas, Chile
Mensajes: 19
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: Conexion a Sybase

Encontré una conexión, copio el texto completo por si alguien tiene la misma duda.
La url no la pongo por motivos anti-spam.

Mono + Sybase
Hace algunos días trataba de realizar una conexión desde ASP.Net a nuestro servidor de base de datos que se encuentra en Sybase, para ello me instalé el cliente de Sybase 12.5 y logré hacer la conexión sin mayor problema usando Visual Studio 2005.

El código para llevar a cabo lo anterior es muy sencillo, básicamente de lo único que se requiere es de tener instalados las dlls para poder conectarte, los nombres de estas dlls son sybdrvado115.dll y Sybase.Data.AseClient.dll, en mi caso como era una aplicación en ASP.Net cargué las dlls en el directorio llamado bin e implementé una pequeña clase que permitiera llevar a cabo dicha conexión, en la sección de los namespaces incluí al namespace Sybase.Data.AseClient.
El código de mi clase para la conexión a Sybase quedó mas o menos así:
//************************************************** ***********************************
//Author: Carlos Alberto Díaz Contreras
//Any contact please reachme at [email protected]
//Class description: Class to perform the connection to the Sybase data base
//************************************************** ***********************************
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using Sybase.Data.AseClient;

public class SybaseCon
{
private string host;
private string port;
private string database;
private string user;
private string passw;
private AseConnection conn;

public SybaseCon(string host, string port, string database, string user, string passw)
{
this.host = host;
this.port = port;
this.database = database;
this.user = user;
this.passw = passw;
}

public bool Open()
{
string connectionString = "Data Source = '" + this.host +
"';Port = '" + this.port +
"';UID = '" + this.user +
"';PWD = '" + this.passw +
"';Database = '" + this.database + "';";
try
{
conn = new AseConnection(connectionString);
conn.Open();
return (true);
}
catch (AseException ex)
{
Console.WriteLine("Error: ", ex.ToString());
return (false);
}
}

public bool Close()
{
try
{
conn.Close();
conn = null;
return (true);
}
catch (AseException ex)
{
conn = null;
return (false);
}
}

public bool QueryDML_DDL(string sql)
{
AseCommand dbcmd = conn.CreateCommand();
dbcmd.CommandText = sql;

try
{
dbcmd.ExecuteNonQuery();
return true;
}
catch (AseException ex)
{
Console.WriteLine("Error: ", ex.ToString());
return false;
}
}
}

//************************************************** **************************************************

Posteriormente traté de llevar a cabo la misma conexión pero usando mono, especificamente lo que quise hacer fué usar las mismas dlls del cliente de Sybase pero esta ocasión no pude llevar a cabo la conexión,el error que obtuve fué :
"sybdrvado115.dll' has invalid `assembly' metadata"

A continuación lo que intenté fué conectarme no sin antes leer un poco al respecto,
Ahí encontré un ejemplo que me permitió realizar la conexión a Sybase haciendo uso de Mono y una pequeña aplicación en Consola.

El código del ejemplo que replico a continuación quedó como sigue:


using System;
using System.Data;
using Mono.Data.SybaseClient;

public class Test
{
public static void Main(string[] args)
{
string connectionString =
"Server=myhostname,5000;" +
"Database=pubs;" +
"User ID=myuserid;" +
"Password=mypassword;";

string conexion;

try {
conexion = "Server=200.XX.XXX.XX,XXXXX;Database=prueba;Us er ID=web;Password=XXX;";


IDbConnection dbcon;

dbcon = new SybaseConnection(conexion);
dbcon.Open();

Console.WriteLine("Conectado a Sybase..");

IDbCommand dbcmd = dbcon.CreateCommand();
string sql =
"SELECT name " +
"FROM master.dbo.sysobjects";
dbcmd.CommandText = sql;
IDataReader reader = dbcmd.ExecuteReader();
while(reader.Read()) {
string objName = reader["name"].ToString();
Console.WriteLine("Name: " + objName);
}

// clean up
reader.Close();
reader = null;
dbcmd.Dispose();
dbcmd = null;

dbcon.Close();
dbcon = null;

}catch(Exception exc) {

Console.WriteLine(exc.ToString());
}
}
}
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:13.