elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recopilación Tutoriales y Manuales Hacking, Seguridad, Privacidad, Hardware, etc


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  conectar c# a oracle con odbc
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: conectar c# a oracle con odbc  (Leído 13,677 veces)
greenselves

Desconectado Desconectado

Mensajes: 73



Ver Perfil
conectar c# a oracle con odbc
« en: 20 Noviembre 2010, 15:02 pm »

hola!  tengo que hacer un programa en C# con la que pueda hacer operaciones de consulta desde la misma aplicacion a Oracle, esto lo quiero hacer desde ODBC.

De verdad que se me ha hecho un problema, y confundido con lo que debe de ir y lo que no para establecer la conexion, espero que me puedan orientar acerca de  la conexion entre C# y la base de datos que tengo con Oracle y mas que nada de lo que se necesita para establecerlo.

De lo que me he encontrado es que se necesita un driver y un DSN, tengo en mis problema que no se que deba ir adentro del DSN, me fui a herramientas administrativas > origenes de datos ODBC (windows xp) y cree un nuevo DSN
"AccesoC", pero al especificar la base de datos, no encontre la ruta de Oracle, me quede en c:\oraclexe.

Esto es lo que llevo del programa para unicamente establecer la conexion:


Código
  1. using System;
  2. using System.Windows.Forms;
  3. using System.Data.Odbc;
  4.  
  5. namespace WindowsApplication1
  6. {
  7.  
  8. public partial class Form1 : Form
  9. {
  10.  
  11. public Form1()
  12. {
  13. //   InitializeComponent();
  14. }
  15.  
  16. public  static  void Main()
  17. {
  18. OdbcConnection cnn;
  19.  
  20. string strConnect="DSN=C:\AccesoC.mdb;  UID=system;PWD=greenselves;DATABASE=store";
  21.  
  22. cnn = new OdbcConnection(strConnect );
  23.  
  24. try
  25. {
  26. cnn.Open();
  27. MessageBox.Show ("Conexion Abierta ");
  28. cnn.Close();
  29. }
  30.  
  31. catch (Exception ex)
  32. {
  33. MessageBox.Show("No conexion ");
  34. }
  35.  
  36.        } // main
  37.  
  38.    } //Form
  39.  
  40. } // namespace



Al ejecutarlo, me dice que no se reconoce el simbolo "\"
->   string strConnect="DSN=C:\AccesoC.mdb;  UID=system;

Espero me puedan ayudar de lo que me falta para establecer la conexion.



« Última modificación: 21 Noviembre 2010, 02:35 am por [D4N93R] » En línea

Greenselves
[D4N93R]
Wiki

Desconectado Desconectado

Mensajes: 1.646


My software never has bugs. Its just features!


Ver Perfil WWW
Re: conectar c# a oracle con odbc
« Respuesta #1 en: 21 Noviembre 2010, 02:39 am »

En C# y todos los derivados de C++, el \ es caracter de especial, ejm: nueva línea \n, tab \t, NULL \0, etc,

Entonces, en tu código tienes en el string lo siguiente: C:\A  eso hace un carácter \A que no es lo que quieres sino, más bien el slash junto a una A, para eso tienes dos opciones:

1) Usar doble slash \\ , de esta forma funciona perfectamente y quedaría así:
Código
  1. string strConnect="DSN=C:\\AccesoC.mdb;  UID=system;PWD=greenselves;DATABASE=store";

2) Colocar un Arroba antes del string para eliminar esos carácteres especiales:
Código
  1. string strConnect= @"DSN=C:\AccesoC.mdb;  UID=system;PWD=greenselves;DATABASE=store";


Un saludo


En línea

greenselves

Desconectado Desconectado

Mensajes: 73



Ver Perfil
Re: conectar c# a oracle con odbc
« Respuesta #2 en: 22 Noviembre 2010, 17:27 pm »

gracias, ya compilo sin problemas, pero ahora mi problema es que no se establece ninguna conexion con la base de datos que estoy manejando con Oracle.

he integrado lo siguiente a mi codigo en el main:

Código
  1. public  static  void Main()
  2. {
  3.  
  4.        OdbcConnection cnn;
  5.  
  6.        Driver={Microsoft Access Driver (*.mdb)};
  7.  
  8. string connetionString="DSN=C:\\AccesoC.mdb;Uid=greenselves";
  9.  
  10. cnn = new OdbcConnection(connetionString);
  11.  
  12.         try
  13.            {
  14.                cnn.Open();
  15.                MessageBox.Show ("Conexion Abierta ! ");
  16.                cnn.Close();
  17.            }
  18.            catch (Exception ex)
  19.            {
  20.                MessageBox.Show("Sin conexion ! ");
  21.            }
  22. }
  23.  
D4N93R: Recuerda colocar las etiquetas geshi para colorear el código. De esta forma queda más entendible para los usuarios y así podrás tener más ayuda.


Pero ahora esto me trae problemas:
 Driver={Microsoft Access Driver (*.mdb)};

me genera errores:

error CS1525: El término de la expresión '{' no es válido
error CS1002: Se esperaba ;
 error CS1002: Se esperaba ;
 error CS1525: El término de la expresión '.' no es válido
 error CS1026: Se esperaba )
 error CS1002: Se esperaba ;
 error CS1525: El término de la expresión ')' no es válido
 error CS1002: Se esperaba ;

Espero me puedan ayudar
« Última modificación: 23 Noviembre 2010, 04:38 am por [D4N93R] » En línea

Greenselves
greenselves

Desconectado Desconectado

Mensajes: 73



Ver Perfil
Re: conectar c# a oracle con odbc
« Respuesta #3 en: 28 Noviembre 2010, 15:02 pm »

He encontrado que primero se tiene que agregar el origen de datos, eso dentro de panel de control y herramientas administrativas. Ahi me aparecen varias pestañas, tengo que seleccionar el que dice DSN del sistema, pero a la hora de agregar un Origen solo me aparece uno de Sql server, mientras que necesito el que dice Origen in xe, pero no está, ya tengo instalado el visual studio 2008 y La bases de datos de Oracle.
Alguna ide de lo que podria hacer para que me aparezca el origen?

Por su ayuda gracias!
En línea

Greenselves
.::IT::.

Desconectado Desconectado

Mensajes: 167



Ver Perfil
Re: conectar c# a oracle con odbc
« Respuesta #4 en: 28 Noviembre 2010, 15:43 pm »

te recomiendo olvidarte de los dns y usar:

http://www.oracle.com/technetwork/topics/dotnet/index-085163.html

Ventasjas:
     * No necesitas crear nada de dns en la maquina cliente.
     * Segun dice la misma oracle es mas eficiente(yo les creo)
Desventajas:
     * si no has usado Ado .net antes vas ah tener que aprender

SI aún asi quieres usar dns(odbc) pues aqui esta tu solucion con foto y todo

http://wiki.oracle.com/page/ODBC

Suerte greenselves tu puedes..
« Última modificación: 28 Noviembre 2010, 15:46 pm por .::IT::. » En línea

Simplemente .::IT::.
greenselves

Desconectado Desconectado

Mensajes: 73



Ver Perfil
Re: conectar c# a oracle con odbc
« Respuesta #5 en: 29 Noviembre 2010, 16:56 pm »

Gracias por la ayuda, despues entendi que mi sintaxis era incorrecta.

OdbcConnection conexion = new OdbcConnection("DSN=oraclexe;Uid=system;Pwd=greenselves");

Saludos
En línea

Greenselves
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda: Clase en VB.NET para conectar a BD Oracle
Programación Visual Basic
DarkMouth 2 8,360 Último mensaje 27 Septiembre 2005, 17:37 pm
por DarkMouth
Conectar java con oracle 10g ex
Java
kch_l 5 11,318 Último mensaje 11 Octubre 2011, 18:10 pm
por sanbartels
Conectar Visual.net a Oracle(Maquina Virtual)
Bases de Datos
Bhrentox 1 4,052 Último mensaje 17 Abril 2012, 03:49 am
por Bhrentox
Error al conectar con MSSQL mediante ODBC en Debian 7
GNU/Linux
novalida 1 3,460 Último mensaje 3 Junio 2014, 21:00 pm
por el-brujo
Conectar con db FoxPro mediate odbc
Programación C/C++
Becerra 0 1,720 Último mensaje 18 Marzo 2017, 12:47 pm
por Becerra
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines