VB6 Grabar un BLOB en Oracle: Solucionado

Entendiendo BLOBs en VB6 y Oracle

Las BLOB son Binaries Large Objects, objetos binarios de gran tamaño. Es un tipo de dato que permite almacenar grandes cantidades de datos binarios, como imágenes o cualquier otro tipo de archivo multimedia.

La conexión Oracle y VB6

Llevar a cabo la tarea de grabar un BLOB en un sistema de base de datos Oracle usando el lenguaje de programación Visual Basic 6 (VB6) requiere inicialmente de una conexión exitosa entre la aplicación VB6 y la base de datos Oracle.

Dim conn As ADODB.Connection
Set conn = New ADODB.Connection
conn.Open "Provider=OraOLEDB.Oracle; Data Source=yourOracleDB;User Id=yourUsername;Password=yourPassword;"

Vinculación de un BLOB usando VB6 y Oracle

Para vincular un BLOB se necesita la ayuda de la biblioteca ADODB.Stream y la ADODB.Recordset para manipular los datos BLOB. Utilizaremos la ADODB.Stream para guardar un archivo en un campo BLOB y la ADODB.Recordset para seleccionar, actualizar, borrar e insertar datos en la base de datos Oracle.

Dim strFilePath As String
strFilePath = "C:Documentsexample.txt"
Dim objStream As ADODB.Stream
Set objStream = New ADODB.Stream
objStream.Type = adTypeBinary
objStream.Open
objStream.LoadFromFile strFilePath

Operaciones CRUD Básicas

Creando un Registro

El siguiente bloque de código ilustra cómo insertar un registro utilizando VB6. Este ejemplo insertará los datos binarios de un archivo en un campo BLOB en la tabla Oracle.

Dim cmd As ADODB.Command
Set cmd = New ADODB.Command
cmd.ActiveConnection = conn
cmd.CommandType = adCmdText
cmd.CommandText = "INSERT INTO TableName (Id, BlobField) VALUES (?, ?)"
cmd.Parameters.Append cmd.CreateParameter("Id", adInteger, adParamInput, , YOUR_ID)
cmd.Parameters.Append cmd.CreateParameter("BlobField", adLongVarBinary, adParamInput, , objStream.Read)
cmd.Execute

Recuperando un BLOB

Podemos recuperar un BLOB de nuestra base de datos Oracle utilizando el siguiente código:

Dim rs As New ADODB.RecordSet
rs.Open "SELECT BlobField FROM TableName WHERE Id = " & YOUR_ID, conn, adOpenStatic, adLockReadOnly
Set objStream = New ADODB.Stream
objStream.Type = adTypeBinary
objStream.Open
objStream.Write rs!BlobField
objStream.SaveToFile strFilePath, adSaveCreateOverWrite

En este código, recuperamos los datos binarios del campo BLOB de la tabla Oracle que corresponden a un determinado identificador (YOUR_ID). Posteriormente, utilizamos la función SaveToFile para guardar los datos binarios en un nuevo archivo.

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Más información
Privacidad