La Web del Programador: Comunidad de Programadores
 
    Pregunta:  49 - PROBLEMAS CON ODBC EN VISUAL BASIC
Autor:  Joaquin
Hola, soy un programador de Madrid y tengo un pequeño problema de ODBC.
¿Como puedo capturar el error Oracle (v7.02) desde Visual Basic 4.0 16 Bits, si accedo a la base de datos con el ODBC de Microsoft?
Gracias de antemano y un saludo JO@ :-(

  Respuesta:  Radical_Edgnet
Con el siguiente codigo detienes cualquier error

OnError Goto sinerror
####lineas de codigo
###mas lineas
salir:
Exit Sub
sinerror:
if err.number = vbcancel then Exit Sub
msgbox err.Description 'puedes bien mandar el error a un cuadro de texto o a una etiqueta
Resume salir
Exit Sub

  Respuesta:  Arturo Sánchez Montalvo
Yo hace tiempo tenia una aplicación Visual Basic que hacia una conexión con Oracle v6 y tenia problemas con el odbc , nunca pude hacer la conexión , si podía conectarme pero no podía hacer update y/o delete. Al estar investigando , me di cuenta que me hacia falta una librería de oracle de nombre ORACLE OBJECT FOR OLE, el cual los de oracle vinieron a instalar, probablemente ese pueda ser tu problema, posteriormente al momento de hacer la conexión solo agregue una instrucción para crear un CreateObject, que en este caso es un CreateDynaset, el cual utilice en vez de un OpenRecordset(vb4) u OpenResulset(bv5).

te inserto las líneas de código:


  Respuesta:  InCaSaS
Vamos a ver si con este ejemplo, todos los usuarios de ORACLE se enteran. El Ejemplo es valido tanto para 16 como para 32 Bits, ¿¿¿ VALE ???. Ademas el codigo que a continuacion os remito, esta optimizado para la nueva sintaxis a utilizar con Visual Basic 5.0.
Gracias al fantastico ODBC, no es necesario el tener dependencias de ningun tipo que es la solucion que propone el Sr. Ramon Sanchez Montalvo. Si utilizamos la dependencia que propone el Sr. Ramon Sanchez Montalvo, tendremos siempre el maravilloso y nunca bien ponderado ´PROBLEMA´ del cambio de Versiones de ORACLE; es decir, que el objeto en cuestion no sea compatible entre versiones superiores.
Si utilizais lo que a continuacion os remito, podeis abrir una conexión ODBC hacia ORACLE sin problemas. Solo existe una excepcion: El Apartado de los ROLES, ya que si se necesitan privilegios para conectarse, habra que darselos, pero ese es un capitulo que puedo resolver a nivel privado a aquellos que lo necesiteis. Un leve explicacion:
cCadCon: Almacenara el formato correcto de la Cadena de Conexion a utilizar contra ORACLE. Este es el formato correcto, no os engañeis.
cDsn: La entrada del Data Source Name existente en el ODBC.
cUsr: Nombre del Usuario con el que nos vamos a conectar.
cPwd: Contraseña del Usuario con el que nos vamos a conectar.
cSrv: Direccion del Servidor. Esta sera proporcionada por el Administrador de ORACLE. Esta suele venir en el archivo TNSNAMES.ORA.
xWs: Variable de tipo Objeto de tipo WorkSpace.
xDb: Variable de tipo Objeto de tipo DataBase.