Menu

QueryBuilder : bug dans la sauvegarde de la position des tables

2015-11-05
2015-11-06
  • MAHIEUX Stéphane

    Bonjour,

    Lorsque je charge la requête ci-dessous, il ne m'affiche que ma sous-requête dans le diagramme. Il semble que le problème soit dû à l'option permettant de sauvegarder la position des tables dans le designer car lorsque je retire cette option et que je relance SQLEO, je vois réapparaître toutes mes tables.

    Connexion : ODBC / SQL Serveur

    Requête :

    SELECT
    LOT.NUMERO AS LOT_NUMERO,
    SYS_ID_STATUT_LOT.LIB_STATUT_LOT AS SYS_ID_STATUT_LOT_LIB_STATUT_LOT
    FROM
    dbo.LOT LOT
    INNER JOIN (SELECT
    BILAN.NUMERO_OPERATION AS BILAN_NUMERO_OPERATION,
    TRANCHE_COMM.NUM_TRANCHE AS TRANCHE_COMM_NUM_TRANCHE,
    LOT.NUMERO AS LOT_NUMERO,
    max( LOT."CPT_LOT" ) AS MAX_CPT_LOT
    FROM
    dbo.TRANCHE_COMM TRANCHE_COMM
    INNER JOIN dbo.BILAN BILAN
    ON TRANCHE_COMM.REF_BILAN = BILAN.COMPTEUR
    INNER JOIN dbo.LOT LOT
    ON TRANCHE_COMM.CPT_TRANCHE_COM = LOT.CPT_TRANCHE_COM
    GROUP BY
    BILAN."NUMERO_OPERATION",
    TRANCHE_COMM."NUM_TRANCHE",
    LOT."NUMERO") LastStatusId
    ON LOT.CPT_LOT = LastStatusId.MAX_CPT_LOT
    INNER JOIN dbo.SYS_ID_STATUT_LOT SYS_ID_STATUT_LOT
    ON LOT.COD_STATUT_LOT = SYS_ID_STATUT_LOT.COD_STATUT_LOT
    LEFT OUTER JOIN dbo.VENTE VENTE
    ON LOT.CPT_VENTE = VENTE.CPT_VENTE
    INNER JOIN dbo.TRANCHE_COMM TRANCHE_COMM
    ON LOT.CPT_TRANCHE_COM = TRANCHE_COMM.CPT_TRANCHE_COM
    INNER JOIN dbo.BILAN BILAN
    ON TRANCHE_COMM.REF_BILAN = BILAN.COMPTEUR
    INNER JOIN dbo.OPERATIO OPERATIO
    ON BILAN.NUMERO_OPERATION = OPERATIO.NUMERO_OPERATION

     En attente de votre réponse sur les causes probables de ce dysfonctionnement,
    
     Cordialement
    
     
  • PAscal

    PAscal - 2015-11-05

    Bonsoir,
    je ne suis pas en mesure de tester votre configuration JDBC-ODBC car je n'ai pas d'environnemnt de test équivalent. Votre requête s'affiche trés bien avec un driver jdbc classique (csvjdbc) même avec l'option de mémorisation de la position des tables (cf graph ci joint).

    Les pistes:
    - peut-être que la syntaxe /* */ n'est pas supportée par ce driver ODBC (je n'ai pas été capable de vérifier)
    - relever les éventuelles erreurs retournées dans la console en démarrant SQLeo en ligne de commande:
    java -jar SQLeoVQB.jar
    - tester avec le driver jdbc de MS SQL Server

    Salutations
    PAscal

     

    Last edit: PAscal 2015-11-05
  • MAHIEUX Stéphane

    Bonjour,

    Lorsque je passe de l'onglet syntaxe à l'onglet designer, il me retourne l'erreur suivante :

    [ DiagramLoader::run ]
    java.sql.SQLException: [Microsoft][ODBC SQL Server Driver]La connexion est occup
    Úe avec les rÚsultats d'un autre hstmt
    Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    at com.sqleo.querybuilder.QueryBuilder.doJoin(QueryBuilder.java:531)
    at com.sqleo.querybuilder.QueryBuilder.load(QueryBuilder.java:379)
    at com.sqleo.querybuilder.QueryBuilder.onLoad(QueryBuilder.java:239)
    at com.sqleo.querybuilder.ViewBrowser.valueChanged(ViewBrowser.java:537)

        at javax.swing.JTree.fireValueChanged(Unknown Source)
        at javax.swing.JTree$TreeSelectionRedirector.valueChanged(Unknown Source
    

    )
    at javax.swing.tree.DefaultTreeSelectionModel.fireValueChanged(Unknown S
    ource)
    at javax.swing.tree.DefaultTreeSelectionModel.notifyPathChange(Unknown S
    ource)
    at javax.swing.tree.DefaultTreeSelectionModel.setSelectionPaths(Unknown
    Source)
    at javax.swing.tree.DefaultTreeSelectionModel.setSelectionPath(Unknown S
    ource)
    at javax.swing.JTree.setSelectionPath(Unknown Source)
    at com.sqleo.querybuilder.ViewBrowser.onModelChanged(ViewBrowser.java:47
    2)
    at com.sqleo.querybuilder.QueryBuilder.onModelChanged(QueryBuilder.java:
    179)
    at com.sqleo.querybuilder.QueryBuilder.setDiagramLayout(QueryBuilder.jav
    a:151)
    at com.sqleo.environment.mdi.ClientQueryBuilder.setDiagramLayout(ClientQ
    ueryBuilder.java:288)
    at com.sqleo.querybuilder.QueryBuilder.stateChanged(QueryBuilder.java:65
    3)
    at javax.swing.JTabbedPane.fireStateChanged(Unknown Source)
    at javax.swing.JTabbedPane$ModelListener.stateChanged(Unknown Source)
    at javax.swing.DefaultSingleSelectionModel.fireStateChanged(Unknown Sour
    ce)
    at javax.swing.DefaultSingleSelectionModel.setSelectedIndex(Unknown Sour
    ce)
    at javax.swing.JTabbedPane.setSelectedIndexImpl(Unknown Source)
    at javax.swing.JTabbedPane.setSelectedIndex(Unknown Source)
    at javax.swing.plaf.basic.BasicTabbedPaneUI$Handler.mousePressed(Unknown
    Source)
    at java.awt.Component.processMouseEvent(Unknown Source)
    at javax.swing.JComponent.processMouseEvent(Unknown Source)
    at java.awt.Component.processEvent(Unknown Source)
    at java.awt.Container.processEvent(Unknown Source)
    at java.awt.Component.dispatchEventImpl(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Window.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
    at java.awt.EventQueue.access$000(Unknown Source)
    at java.awt.EventQueue$1.run(Unknown Source)
    at java.awt.EventQueue$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown
    Source)
    at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown
    Source)
    at java.awt.EventQueue$2.run(Unknown Source)
    at java.awt.EventQueue$2.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown
    Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.run(Unknown Source)

    Lorsque je regarde l'onglet syntaxe je constate qu'il m'a supprimé les commentaires / / sur toutes mes tables à l'exception de ma sous-requête. Si je tente de les saisir manuellement et que je retourne dans l'onglet designer, j'obtiens l'erreur suivante :

    [ DiagramLoader::run ]
    java.sql.SQLException: [Microsoft][ODBC SQL Server Driver]La connexion est occup
    Úe avec les rÚsultats d'un autre hstmt
    Exception in thread "Thread-11" java.lang.NullPointerException
    at com.sqleo.querybuilder.QueryBuilder.doJoin(QueryBuilder.java:530)
    at com.sqleo.querybuilder.QueryBuilder.load(QueryBuilder.java:379)
    at com.sqleo.querybuilder.QueryBuilder.onLoad(QueryBuilder.java:239)
    at com.sqleo.querybuilder.ViewBrowser.valueChanged(ViewBrowser.java:537)

        at javax.swing.JTree.fireValueChanged(Unknown Source)
        at javax.swing.JTree$TreeSelectionRedirector.valueChanged(Unknown Source
    

    )
    at javax.swing.tree.DefaultTreeSelectionModel.fireValueChanged(Unknown S
    ource)
    at javax.swing.tree.DefaultTreeSelectionModel.notifyPathChange(Unknown S
    ource)
    at javax.swing.tree.DefaultTreeSelectionModel.setSelectionPaths(Unknown
    Source)
    at javax.swing.tree.DefaultTreeSelectionModel.setSelectionPath(Unknown S
    ource)
    at javax.swing.JTree.setSelectionPath(Unknown Source)
    at com.sqleo.querybuilder.ViewBrowser.onModelChanged(ViewBrowser.java:47
    2)
    at com.sqleo.querybuilder.QueryBuilder.onModelChanged(QueryBuilder.java:
    179)
    at com.sqleo.querybuilder.QueryBuilder.setQueryModel(QueryBuilder.java:1
    71)
    at com.sqleo.querybuilder.QueryBuilder$1.run(QueryBuilder.java:644)
    at java.lang.Thread.run(Unknown Source)

    Cdt,

    Stéphane

     
  • PAscal

    PAscal - 2015-11-06

    Diverse anomalies ont déjà été remontées concernant l'utilisation du driver ODBC MS SQL server.
    L'utilisation du driver JDBC équivalent est beaucoup plus stable

     

Anonymous
Anonymous

Add attachments
Cancel