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....
| |||
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 |
| |||
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()); } } } |