Funcionando, Gracias.

¿Alguien usa SQL-Ledger?

Ariel Constenla-Haile escribió:
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.



--
J. Eduardo Moreno
TOKONHU de México
044 55 2748 4840


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

Responder a