[Résolu][Base] soffice.bin lors de demande de connexion

Discussions et questions sur tout ce qui concerne la programmation tous langages et tous modules confondus.

Modérateur : Vilains modOOs

Règles du forum
:alerte: Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
Operational
Membre lOOyal
Membre lOOyal
Messages : 32
Inscription : 19 sept. 2011 15:15

[Résolu][Base] soffice.bin lors de demande de connexion

Message par Operational »


La modération vous a écrit: le terme problème est inutile car implicite. Nous l'avons supprimé

Bonjour,
J'ai développé une base de données avec OpenOffice Base 4.11x86 et je réalise des requêtes sql depuis Excel pour lire et modifier la base.
Tout fonctionne bien entre Excel et OpenOffice.
Depuis que j'ai appris qu'il n'y aurait plus de mise à jour pour OpenOffice je me suis tourné vers LibreOffice 5.1.6x86 tout en conservant le même fichier Excel.
Lors de la premier exécution d'une requête tout se passe sans problème.
Après réexécution de la même requête il se trouve que soffice.bin *32 ne réponde plus à la demande faite depuis Excel et qu'il tourne en boucle sans fin. Excel se retrouve dans un état d'attente d'une réponse OLE de Soffice qui n'arrive jamais.
J'arrive à reprendre la main sur Excel à partir du moment ou le processus Soffice.bin est fermé.
J'arrive alors à réexécuter ma requête sans problème puis si je relance à nouveau la requête, le même problème revient.
Le code utilisé dans la macro Excel est le suivant:

Code : Tout sélectionner

        Private Sub CommandButton1_Click()
            Dim oDB As Object, oBase As Object
            Dim oStatement As Object
            Dim rSQL As String
            Dim rSQL1 As String
            Dim oRequete As Object
            Dim oServiceManager As Object, CreateUnoService As Object
            Dim x As Integer
            '---------------------------------------
            Dim feuille5 As String
            feuille5 = "Liste des entreprises"
            ActiveWorkbook.Unprotect Password:="opfr452"
            '-------------------------------------------------
            'Création instance Open office
            Set oServiceManager = CreateObject("com.sun.star.ServiceManager")
            Set CreateUnoService = oServiceManager.createInstance("com.sun.star.sdb.DatabaseContext")
           
            'Indique le nom de la base
            Set oDB = CreateUnoService.getByName("Listing_prix")
           
            'Connection
            Set oBase = oDB.getConnection("", "")
            Set oStatement = oBase.createStatement
            '------------------------------------------------------
            'Création requète
            rSQL = "SELECT ""entreprise"", ""index_entreprises"" FROM ""table_entreprises"" ORDER BY ""entreprise"""
            Set oRequete = oStatement.executeQuery(rSQL)
           
                'Affichage du résultat de la requête dans les cellules Excel
                If Not IsNull(oRequete) Then
                    x = 3
                    While oRequete.Next
                        x = x + 1
                        Cells(x, 2) = oRequete.getString(1) 'cells(ligne, colonne)
                        Cells(x, 3) = oRequete.getString(2)
                    Wend
                End If
            '------------------------------------------------------------
            oRequete.Close
            oStatement.Close
            oBase.Close
            oBase.Dispose
            ActiveWorkbook.Protect Password:="opfr452"
        End Sub
En exécutant pas à pas le code, lors de la deuxième exécution, Excel reste bloqué dans l'attente d'une réponse de Soffice au moment de la demande de connexion.

Code : Tout sélectionner

Set oBase = oDB.getConnection("", "")
Complément d'information:
Lors de la première exécution, le fichier .LCK est bien créé et il est bien supprimé à la fin de l’exécution de la macro.
Lors de la seconde exécution, le fichier .LCK n'est pas créé.

Autre constatation:
En mode pas à pas, si j'exécute la macro en m'arrêtant avant le "oRequete.Close" j'arrive sans problème à réexécuter la macro.
Le fichier .LCK n'est plus effacé mais les macro peuvent toujours s’exécuter.

Svp quelqu'un aurait-il une solution ou au moins une piste à explorer?
OpenOffice 4.0.1 XP pro SP3
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 25173
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: [Base] soffice.bin lors de demande de connexion

Message par Dude »

Salut,
Operational a écrit :Depuis que j'ai appris qu'il n'y aurait plus de mise à jour pour OpenOffice
Où as-tu lu une telle énormité ?
Une version 4.1.3 a été publiée le mois dernier.
Operational a écrit :Le code utilisé dans la macro Excel est le suivant:
Sauf qu'ici, tu ne trouveras pas d'aide pour un logiciel propriétaire, payant et fermé.
Operational a écrit :J'ai développé une base de données avec OpenOffice Base 4.11x86 et je réalise des requêtes sql depuis Excel pour lire et modifier la base.
Pourquoi ne pas utiliser Calc pour faire l'opération ?
Operational
Membre lOOyal
Membre lOOyal
Messages : 32
Inscription : 19 sept. 2011 15:15

Re: [Base] soffice.bin lors de demande de connexion

Message par Operational »

Salut,
Operational a écrit :Depuis que j'ai appris qu'il n'y aurait plus de mise à jour pour OpenOffice
Où as-tu lu une telle énormité ?
Une version 4.1.3 a été publiée le mois dernier.
Trouvé sur mon ami Google qui peut parfois dire des énormités. exemple: h**p://www.zdnet.fr/actualites/openoffice-est- ... 841578.htm

Et d'une lettre de l'éducation national qu'un membre de ma famille a reçut disant qu'Openoffice était terminé et qu'il fallait passer sous Libreoffice.
Operational a écrit :Le code utilisé dans la macro Excel est le suivant:
Sauf qu'ici, tu ne trouveras pas d'aide pour un logiciel propriétaire, payant et fermé.
Il me semble qu'il y a pourtant un post qui explique comment faire des requêtes sql à partir de macro Excel vers Base.
Operational a écrit :J'ai développé une base de données avec OpenOffice Base 4.11x86 et je réalise des requêtes sql depuis Excel pour lire et modifier la base.
Pourquoi ne pas utiliser Calc pour faire l'opération ?
Tous simplement parce que mes collègues sont tous sous Excel et qu'ils ne veulent pas changer leur habitude. En entreprise ont ne fait pas toujours ce qui nous plait.
OpenOffice 4.0.1 XP pro SP3
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 25173
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: [Base] soffice.bin lors de demande de connexion

Message par Dude »

Operational a écrit :Trouvé sur mon ami Google qui peut parfois dire des énormités.
Ce n'est pas G**gle que tu cites mais ZDNet.
Operational a écrit :Et d'une lettre de l'éducation national qu'un membre de ma famille a reçut disant qu'Openoffice était terminé et qu'il fallait passer sous Libreoffice.
Si ce courrier existe bien, c'est hallucinant. Ce serait bien de publier cette lettre que le projet OpenOffice puisse intervenir auprès de l'EN.
Operational a écrit :Il me semble qu'il y a pourtant un post qui explique comment faire des requêtes sql à partir de macro Excel vers Base.
Où ça ? Te rends tu compte de la masse d'informations qu'il y a dans ce forum ?
Operational a écrit :Tous simplement parque mes collègues sont tous sous Excel
Dans ce cas, tu dois t'adresser à un forum qui traite de ce logiciel payant.