• Sábado 20 de Abril de 2024, 08:29

Autor Tema:  Lectura de Tabla con ODBC  (Leído 4881 veces)

PatricioPino

  • Nuevo Miembro
  • *
  • Mensajes: 12
    • Ver Perfil
Lectura de Tabla con ODBC
« en: Martes 7 de Diciembre de 2010, 13:10 »
0
Necesito leer una tabla Oracle a la cual tengo acceso mediante un origen de datos ODBC, ¿cómo pongo eso en el código?
¿como cadena de conexión?, lo he intentado y me aparece un error que dice que el proveedor no está registrado.  :mellow:

Una ayuda por favor :hola:

gabio2

  • Miembro MUY activo
  • ***
  • Mensajes: 402
  • Nacionalidad: mx
    • Ver Perfil
Re: Lectura de Tabla con ODBC
« Respuesta #1 en: Martes 7 de Diciembre de 2010, 19:53 »
0
Bueno te doy un ejemplo rapidisimo, ya leugo tu haces lo demás... tengo una duda.. antes que nada.. por que no usas MySQL en vez de Oracle?..

Bueno pasando  a tu problema.. necesitas hacer el imports al ODBC.. y luego crear tus variables.. etc etc.. un ejemplo rápido:

Código: vb.net
  1.  
  2. Imports System
  3. Imports System.Data
  4. Imports  System.Data.Odbc
  5.  
  6.             Dim  conexion As OdbcConnection
  7.             Dim  comando As OdbcCommand
  8.             Dim CadenaSQL As String = "SELECT * FROM Productos;"
  9.             conexion = new OdbcConnection("Driver={Microsoft ODBC for Oracle};Server=localhost;UID=GAB;PWD=123;") ' Donde: localhost es tu servidor, GAB es el usuario de tu base de datos, 123 es la contraseña.
  10.            
  11.            'AHORA  IMAGINEMOS QUE QUIERES LLENAR UN DATAGRID AL MOMENTO DE CARGAR UN FORMULARIO EN EL EVENTO LOAD.. TE QUEDARIA ALGO COMO ESTO:
  12.  
  13.        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  14.            Try
  15.                 conexion.Open()
  16.                 Dim tabla As New DataTable()
  17.                 OdbcDataAdapter adapter As New OdbcDataAdapter(comando)
  18.                 adapter.Fill(tabla)
  19.                 dataGridView1.DataSource = tabla
  20.                 conexion.Close()
  21.         Catch ex As Exception
  22.            MessageBox.Show(ex.Message,ex.Source)
  23.         End Try
  24.        End Sub
  25.  
  26.  
@gabio87

PatricioPino

  • Nuevo Miembro
  • *
  • Mensajes: 12
    • Ver Perfil
Re: Lectura de Tabla con ODBC
« Respuesta #2 en: Martes 7 de Diciembre de 2010, 20:00 »
0
Muchas, muchas, muchisimas gracias, genial tu solución  :good:

La verdad estoy leyendo una aplicación muy antigua desarrollada en Oracle (version 1.0 , creo  :lol: ) y no he podido elejir que usar.

Tu ejemplo me ha encaminado muy bien, gracias nuevamente.

Saludos

PatricioPino

  • Nuevo Miembro
  • *
  • Mensajes: 12
    • Ver Perfil
Re: Lectura de Tabla con ODBC
« Respuesta #3 en: Jueves 9 de Diciembre de 2010, 18:03 »
0
Una consulta relacionada con este tema, cuando tu pones:

OdbcDataAdapter adapter As New OdbcDataAdapter(comando)

Significa que en el objeto OdbcDataAdapter yo tengo todos los registros producto de la ejecucion de la sentencia SQL? y si esto es asi, yo puedo leer estos datos uno a uno y realizar alunas operaciones con ellos?.
Predon si mis preguntas son muy obvias, pero , como decia mi maestro: "Tonto no es el que no sabe y pregunta, sino el que no sabe y no pregunta"

 :good:

gabio2

  • Miembro MUY activo
  • ***
  • Mensajes: 402
  • Nacionalidad: mx
    • Ver Perfil
Re: Lectura de Tabla con ODBC
« Respuesta #4 en: Jueves 9 de Diciembre de 2010, 18:27 »
0
Código: vb.net
  1.  
  2.                conexion.Open()
  3.                Dim tabla As New DataTable()
  4.                OdbcDataAdapter adapter As New OdbcDataAdapter(comando)
  5.                adapter.Fill(tabla)
  6.                dataGridView1.DataSource = tabla
  7.                conexion.Close()
  8.  
  9.  

en la linea:

adapter.Fill(tabla)

En esa linea se llena tu DataTable (tabla), por lo tanto, ya tienes llena tu tabla.. es solo que la recorrar.. con un foreach... por ejemplo:

Código: vb.net
  1.  
  2. For Each dr As DataRow In tabla.Rows
  3. 'Tu codigo aquí..
  4. Next
  5.  
  6.  

El for each como su nombre lo dice "Por cada uno" ... entonces, ahí ya puedes manipular todos tus datos.. no se si ya quede entendido.. espero que sí.. saludos
« última modificación: Jueves 9 de Diciembre de 2010, 18:30 por gabio2 »
@gabio87

PatricioPino

  • Nuevo Miembro
  • *
  • Mensajes: 12
    • Ver Perfil
Re: Lectura de Tabla con ODBC
« Respuesta #5 en: Jueves 9 de Diciembre de 2010, 18:30 »
0
Nuevamente GRANDE !!!! :good:

gabio2

  • Miembro MUY activo
  • ***
  • Mensajes: 402
  • Nacionalidad: mx
    • Ver Perfil
Re: Lectura de Tabla con ODBC
« Respuesta #6 en: Jueves 9 de Diciembre de 2010, 18:38 »
0
Por cierto, si te decides a cambiar.. de Oracle a MySQL, tengo una Libreria (dll) para la conexión de datos, es decir, te olvidas de hacer todo lo relacionado con la "conexion" a la base de datos y te limitas a solo enviar tus sentencias SQL que desees ejecutar y te regresa.. los DataTable, DataSets, ya llenos de datos (si tu sentencia regresa algún valor).. te paso los Links de descarga..

http://rapidshare.com/files/434400587/Conexion.rar

y aquí te doy un ejemplo de como usarlo, es MUY SENCILLO solo creas un objeto de la clase clsMySQL y le pasas la cadena de conexión, fijate como esta el ejemplo. pruebalo.. OBVIAMENTE vas a tener ke cambiarla por TU cadena de conexion.. y los comandos inserts y selects que hize, tu tendrias que modificarlos.. por lo que tu necesites.. solo necesitas referencias las 2 DLL a tu proyecto y luego solo llamar a Conexion:
en C#:
using Conexion;


en VB:
Imports Conexion



EJEMPLO:

http://rapidshare.com/files/434401107/PruebasConDllConexion.rar



CUALQUIER DUDA PUEDES PREGUNTAR.. SALUDOS! :)

NOTA: OBVIAMENTE TIENES QUE TENER INSTALADA LA BASE DE DATOS MySQL.. SI NO LA TIENES PUEDES DESCARGALA DESDE LA PAGINA DE MySQL (www.mysql.com) O MÁS DIRECTO DESDE http://rapidshare.com/files/435918128/Setup.exe  SON 100% CONFIABLES TODOS LOS LINKS QUE TE ESTOY PASANDO.. SALUDOS. :)
@gabio87

PatricioPino

  • Nuevo Miembro
  • *
  • Mensajes: 12
    • Ver Perfil
Re: Lectura de Tabla con ODBC
« Respuesta #7 en: Jueves 9 de Diciembre de 2010, 19:16 »
0
Ok, gracias, le doy un vistaso. Se agradec la cooperacion :hola: