[RESUELTO] Conexion LibreOffice base desde VB.net

Discute sobre las herramientas de la base de datos
Responder
Pedro V
Mensajes: 4
Registrado: Mié Jun 08, 2016 1:38 pm

[RESUELTO] Conexion LibreOffice base desde VB.net

Mensaje por Pedro V »

Hola, a todos pero parace que esta pregunta es la del millón, porque nadie la ha contestado y yo no se porque. Alguien conoce la conexión para una base de datos de libreOffice base desde vs.net. Porque he visto un ejemplo que hace una conexión a una hoja de calculo, write..., pero ha una base de datos de LibreOffice con la extencion de .odb, no la he visto y es la pregunta del millón.
Si alguien la conoce se lo agradecería muchos programadores de vs.net
Gracias
Última edición por SLV-es el Mar Jun 21, 2016 12:23 pm, editado 1 vez en total.
Razón: Marcado como RESUELTO por los comentarios del usuario
OpenOffice 3.1 en Windows 7
Avatar de Usuario
mauricio
Mensajes: 6092
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

Re: Conexion con base de datos LibreOffice base desde VB.net

Mensaje por mauricio »

¿Tal vez, a nadie le interesa... o nadie lo ha necesitado?

En estos foros, esta la respuesta a tu pregunta, ojo, no encontraras una respuesta literal, pero las piezas necesarias para hacerlo aquí están, yo mismo he respondido varias de ellas, solo... tienes que juntarlas...

Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Pedro V
Mensajes: 4
Registrado: Mié Jun 08, 2016 1:38 pm

Re: Conexion con base de datos LibreOffice base desde VB.net

Mensaje por Pedro V »

Hola Mauricio gracias por responder tan rapido. Puede ser que no le interese a nadie de este foro, porque es para ofimaticos y no para programadores. Como dices has respondido a varias preguntas , pero si te refieres a una que te pregunta por la conexion con VB 6, le contestaste con la creacion de un documento y no con la conexion con la base de datos. Me he repasado practicamente todo el foro y no he sido capaz de resolverlo. Si eres tan amable y no te quitase mucho tiempo, te agradeceria que me pusieras un pequeño ejemplo de como concectar desde vs.net con una base de datos de libreOffice base. Te aseguro que hay muchos programadores que se le ha planteado este tema y seguro que han optado por dejar su conexion a Microsoft access que es lo que voy que tener que hacer yo.
Gracias Mauricio
OpenOffice 3.1 en Windows 7
Avatar de Usuario
mauricio
Mensajes: 6092
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

Re: Conexion con base de datos LibreOffice base desde VB.net

Mensaje por mauricio »

Pedro V escribió:Puede ser que no le interese a nadie de este foro, porque es para ofimaticos y no para programadores.
Esto es incorrecto, este foro es para todos los usuarios de todos los niveles y para todos los programadores de todos los niveles, el único requisito, es que tenga que ver AOO/LibO

Como dije, aquí están todas las piezas, solo hay que unirlas... de hecho solo hacen falta dos:

1.- Como conectarse a AOO/LibO: https://forum.openoffice.org/es/forum/v ... 151#p18478
2.- YA "conectado", como enlazar a la base de datos: https://forum.openoffice.org/es/forum/v ... 390#p49462

pero... si ya decidiste seguir como estas... no hay más que decir...

Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Pedro V
Mensajes: 4
Registrado: Mié Jun 08, 2016 1:38 pm

Re: Conexion con base de datos LibreOffice base desde VB.net

Mensaje por Pedro V »

Hola Mauricio, esto es lo que he podido programar, pero me da error en una linea.

Código: Seleccionar todo

Imports System.Data
Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click


        Dim oServiceManager As Object = CreateObject("com.sun.star.ServiceManager")
        Dim sBaseFile As String = "c:\prueba.odb"

        'Proceso de conexión
        Dim oBaseContext = oServiceManager.CreateInstance("com.sun.star.sdb.DatabaseContext")

        Dim oDataSource = oBaseContext.getByName(sBaseFile) 'AQUI ME DA EL ERROR
        Dim oConnection = oDataSource.getConnection("", "")

        Dim oStatement As Object = oConnection.CreateStatement()

        Dim oResultSet = oStatement.executeQuery("SELECT * FROM Oficiales") 'Una tabla que tengo en la bd

        Dim Ometa As Object = oResultSet.getMetaData()
        Dim fieldsCount As Integer = CInt(Ometa.getColumnCount())


        'La transferencia del nombre de la columna a la DataTable de ADO.NET
        Dim TBL As New DataTable()

        For colIndex As Integer = 1 To fieldsCount
            TBL.Columns.Add(CStr(Ometa.getColumnName(colIndex)))
        Next


        While (oResultSet.Next())
            Dim newRow As DataRow = TBL.NewRow()
            For colIndex As Integer = 1 To fieldsCount
                newRow(colIndex - 1) = CStr(oResultSet.getString(colIndex))
            Next
            TBL.Rows.Add(newRow)
        End While

        'Muestra los datos recuperados a DataGridView
        DataGridView1.DataSource = TBL

        End
    End Sub
End Class
en Dim oDataSource = oBaseContext.getByName(sBaseFile) 'AQUI ME DA EL ERROR es la variable que pongo el nombre de la bd. Como hay que formato tiene en
LibreOffice base.
Gracias Mauricio
Última edición por mauricio el Mié Jun 08, 2016 6:38 pm, editado 1 vez en total.
Razón: Usar etiquetas CODE
OpenOffice 3.1 en Windows 7
Avatar de Usuario
mauricio
Mensajes: 6092
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

Re: Conexion con base de datos LibreOffice base desde VB.net

Mensaje por mauricio »

Todas las rutas "dentro" de AOO/LibO, deben de indicarse en formato URL. Verifica si ese es el problema:

Código: Seleccionar todo

file:///c:/Users/etc/etc
Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Pedro V
Mensajes: 4
Registrado: Mié Jun 08, 2016 1:38 pm

Re: Conexion con base de datos LibreOffice base desde VB.net

Mensaje por Pedro V »

Si Mauricio eso era mi error, por fin funciona.
muchas Gracias.
OpenOffice 3.1 en Windows 7
Avatar de Usuario
mauricio
Mensajes: 6092
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

Re: Conexion con base de datos LibreOffice base desde VB.net

Mensaje por mauricio »

Si consideras que el problema ha sido resuelto, por favor, marca como resuelto el tema, de esta forma queda como referencia para futuras consultas y además tenemos un foro más ordenado. Gracias.

Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Responder