Hola Eduardo,

J. Eduardo Moreno escribió:
Saludos a todos:

Ahora, cada vez que hago una consulta veo que se abre la conexión en PostgreSQL, pero no la cierra.

¿Como le ordeno que cierre la conexión?

suponiendo que oConnection es el resultado de getConnection(), entonces

oConnection.close()     'cerrar la conexión
oConnection.dispose()   'liberar todos los recursos

Es conveniente definir oConnection como un objeto, y cerrar la conexión
cuando termines el trabajo o en caso de error:


Sub [DriverManager: TEXTO  PLANO - txt/csv]
        ON ERROR GOTO CLEAN_UP
        
        Dim oDriverManager as Object 'el servicio DriverManager
                                        'se encarga de buscar el Driver 
apropiado
        Dim sURLarchivo$                'la ruta del archivo de campos 
separados por comas
        Dim sURL$                       'protocolo:sub-protocolo:ruta
        Dim oConexion as Object       'getConnection() devuelve XConnection
        Dim oComando as Object        'createStatement() retorna XStatement     
        Dim sComandoSQL$    'el método executeQuery() de XStatement espera una
cadena
                        'con la consulta en SQL
        Dim oResultado as Object      'el método executeQuery() retorna 
XResultSet
        Dim iColumnas%      'cantidad de columnas
        Dim sNombre$, sApellido$, sEmail$, sCadena$ 'DATOS


        'para que la conexión se exitosa requiere INFORMACIÓN ADICIONAL
        Dim aProp(3) as New com.sun.star.beans.PropertyValue
        aProp(0).Name = "Extension" 'la extensión del archivo
        aProp(0).Value = "txt"
        aProp(1).Name = "Charset" 'el juego de caracteres
        aProp(1).Value = "utf-8"
        aProp(2).Name = "HeaderLine" '¿la primer línea es encabezado? 
        aProp(2).Value = TRUE   
        aProp(3).Name = "FieldDelimiter" '¿qué caracter delimita los campos?  
        aProp(3).Value = "*"
        
        'en un archivo con valores separados por comas (comma separetes
values: csv),   
        'NO ES OBLIGATORIO que sean COMAS los separadores       
        
        oDriverManager = createUNOService("com.sun.star.sdbc.DriverManager")
        
        sURLarchivo = convertToURL("/home/ariel/Documentos/BASEplana.txt")
        
        sURL = "sdbc:flat:" + sURLarchivo     
        
        oConexion = oDriverManager.getConnectionWithInfo( sURL, aProp)  
        
        oComando = oConexion.createStatement()
        
        'el archivo ES / TIENE UNA SOLA TALBA   
        'empleamos su nombre (sin extensión) en el comando      
        sComandoSQL = "SELECT * FROM BASEplana" 'seleccionamos TODO:*
        
        oResultado = oComando.executeQuery(sComandoSQL)
        
        'cada elemento del resultado es una fila
        
        Do While NOT IsNull(oResultado) AND oResultado.Next     
             sNombre = oResultado.getString(1)'obtenemos la cadena de la 
columna 1      
             sApellido = oResultado.getString(2)'obtenemos la cadena de la
columna 2
             sEmail = oResultado.getString(3)'obtenemos la cadena de la columna 
3
             sCadena = sCadena + sNombre + chr(13) + sApellido + chr(13) +_
             sEmail + chr(13) + chr(13) 
        Loop
        
        MsgBox sCadena,0, "Prueba de DriverManager - base plana"
        
        CLEAN_UP:
        If NOT IsNull(oConexion) Then
                oConexion.close()
                oConexion.dispose()
        End If
End Sub


La etiqueta CLEAN_UP asegura que atente cualquier error o al finalizar
el trabajo, se tratará de cerrar la conexión (si no, deberías reiniciar
OOo).

OJO: si estás empleando la conexión activa que emplea OOo, no vayas a
cerrarla, pues deberías reiniciar todo para volver a conectarte

Revisando el sitio de Ariel veo como conectarse a la base de datos
PostgreSQL por medio del DriverManager.


mmm... parece que hace bastante que no le doy una mirada :-(

Saludos
Ariel.

--
Ariel Constenla-Haile
La Plata, Argentina

[EMAIL PROTECTED]
[EMAIL PROTECTED]

http://www.ArielConstenlaHaile.com.ar/ooo/



"Aus der Kriegsschule des Lebens
                - Was mich nicht umbringt,
        macht mich härter."
                Nietzsche Götzendämmerung, Sprüche und Pfeile, 8.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Responder a