Pages: 1
- Sujet précédent - MGE 2010 + Oracle : gros soucis sur l'ajout de jointures ? - Sujet suivant
#1 Tue 23 February 2010 11:18
- Thierry21
- Participant occasionnel
- Date d'inscription: 10 Aug 2006
- Messages: 45
MGE 2010 + Oracle : gros soucis sur l'ajout de jointures ?
Bonjour,
j'utilise MAPGUIDE Enterprise 2010 (Service pack 1 + 1 b appliqués) et une base Oracle 10g avec locator.
Je déclare une feature source sur la base Oracle : pas de problème, je peux cartographier les éléments de mes tables.
Je veux maintenant rajouter une jointure (menu "Add properties to classes using joins and calculations (optional) " de MGStudio).
Pas de problème pour la création : j'enregistre les modifs dans ma feature source.
Quand je veux créer un calque basé sur cette ressource Oracle j'ai le message suivant : (avant même d'accéder à ma jointure)
Code:
An exception occurred in FDO component. 'FdoPtr::operator->': Cannot execute function due to invalid value for the input parameter(s) 'p'.
et ma source est désormais déclarée invalide :
Code:
Resource ID does not refer to a valid feature source
quand je supprime ma jointure, la ressource redevient utilisable ...
Éditée en xml ma ressource à l'air correcte :
Code:
<?xml version="1.0" encoding="utf-8"?> <FeatureSource xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xsi:noNamespaceSchemaLocation="FeatureSource-1.0.0.xsd"> <Provider>Autodesk.Oracle</Provider> <Parameter> <Name>Username</Name> <Value>%MG_USERNAME%</Value> </Parameter> <Parameter> <Name>Password</Name> <Value>%MG_PASSWORD%</Value> </Parameter> <Parameter> <Name>Service</Name> <Value>BDDGMAO</Value> </Parameter> <Parameter> <Name>DataStore</Name> <Value>TEST</Value> </Parameter> <Extension> <AttributeRelate> <RelateProperty> <FeatureClassProperty>WONUM</FeatureClassProperty> <AttributeClassProperty>WONUM</AttributeClassProperty> </RelateProperty> <AttributeClass>FdoTEST:WOEQLIST</AttributeClass> <ResourceId>Library://GMAO/BDD_ORACLE/TM_R1.FeatureSource</ResourceId> <Name>MAJOINTURE_</Name> <AttributeNameDelimiter /> <RelateType>Inner</RelateType> <ForceOneToOne>false</ForceOneToOne> </AttributeRelate> <Name>testjointure</Name> <FeatureClass>FdoTEST:WOE</FeatureClass> </Extension> </FeatureSource>
Avez-vous des idées et/ou une méthode de contournement de ce pb ?
Hors ligne
#2 Tue 23 February 2010 13:40
- Patrice
- JeSuisCharlie
- Date d'inscription: 16 Sep 2005
- Messages: 4794
Re: MGE 2010 + Oracle : gros soucis sur l'ajout de jointures ?
Hello
Un petit conseil : tu fais une vue dans Oracle avec ta jointure et tu utilises cette nouvelle vue !
GeoBye, Pat
(Autodesk Expert Elite Team)
Hors ligne
#3 Tue 23 February 2010 15:38
- Thierry21
- Participant occasionnel
- Date d'inscription: 10 Aug 2006
- Messages: 45
Re: MGE 2010 + Oracle : gros soucis sur l'ajout de jointures ?
Merci pour cette réponse, le problème c'est que je n'arrive pas à faire afficher quoi que ce soit à partir d'une vue Oracle (?).
Exemple :
je crée une table TA avec un champ géométrique dans oracle
je renseigne la table des méta données (MDSYS.SDO_GEOM_METADATA_TABLE) pour TA
je crée un index spatial
tout va bien j'affiche des données dans un calque Mapguide.
je crée une vue VTA qui est un select * sur TA.
je crée une clef primaire sur la vue.
je renseigne la table des méta données (MDSYS.SDO_GEOM_METADATA_TABLE) pour VTA (idem TA)
Je crée un calque à partir de ma vue mais rien ne s'affiche dans Mapguide .
Pourtant les extensions du calque sont cohérentes avec ce qu'il y a dans la table des métadonnées et quand je crée un filtre sur les données, le bouton "Get values for properties" me donne bien des valeurs présentes dans ma vue. Par contre graphiquement : rien.
Hors ligne
#4 Tue 23 February 2010 16:25
- Patrice
- JeSuisCharlie
- Date d'inscription: 16 Sep 2005
- Messages: 4794
Re: MGE 2010 + Oracle : gros soucis sur l'ajout de jointures ?
Hello
Sur une vue Oracle avec MGES/MGOS, il peut s'averer necessaire de declarer une cle primaire
mais parfois il faut la devalider !
Par exemple (Merci Gwen) :
alter view defect954944.featureclass1 add constraint fc1_id primary key (featid) disable novalidate ;
Je ne suis pas sur qu'il soit necessaire de creer des metadata sur ta vue, etc ...
mais bon ce n'est pas ton probleme principal !
GeoBye, Pat
(Autodesk Expert Elite Team)
Hors ligne
#5 Tue 23 February 2010 17:01
- Thierry21
- Participant occasionnel
- Date d'inscription: 10 Aug 2006
- Messages: 45
Re: MGE 2010 + Oracle : gros soucis sur l'ajout de jointures ?
c'est exactement comme ça que ma clef primaire est déclarée ... et ne pas mettre de metadata sur la vue ne change rien à l'affaire (ha si j'ai un message d'erreur quand je demande les valeurs disponibles pour un champ)
c'est pas gagné ...
Hors ligne
#6 Wed 24 February 2010 08:33
- Patrice
- JeSuisCharlie
- Date d'inscription: 16 Sep 2005
- Messages: 4794
Re: MGE 2010 + Oracle : gros soucis sur l'ajout de jointures ?
Hello
Ce n'est pas normal !
En principe MGES affiche correctement les vues Oracle depuis MGES 2008 et les drivers FDO 3.22
Si tu fais une Vue "basique" qui est un simple "create or replace view jolievue as select * from jolietable"
sachant que bien sur "jolietable" s'affiche et fonctionne normalement dans MGES, que se passe t-il quand tu utilises cette Vue dans ton MGES ?
GeoBye, Pat
(Autodesk Expert Elite Team)
Hors ligne
#7 Wed 24 February 2010 10:36
- Thierry21
- Participant occasionnel
- Date d'inscription: 10 Aug 2006
- Messages: 45
Re: MGE 2010 + Oracle : gros soucis sur l'ajout de jointures ?
Bonjour,
c'est le premier test que j'ai effectué (et que je décris dans mon 2eme post).
Affichage des données d'une table : ok
Affichage des données d'une vue qui est un simple select * de cette même table : rien ne s'affiche
testé avec et sans duplication des métadonnées de la table originale vers la vue.
testé en recréant la connection à oracle dans Studio après chaque modification.
Jusqu'ici je contournais le problème avec des triggers qui alimentaient des tables supplémentaires, dédiées à la cartographie, mais là j'ai absolument besoin d'une vue (trop de tables concernées)
Hors ligne
#8 Wed 24 February 2010 13:53
- Gwenael Bachelot
- Participant assidu
- Lieu: Bureau Autodesk : Paris 12ème
- Date d'inscription: 5 Sep 2005
- Messages: 608
- Site web
Re: MGE 2010 + Oracle : gros soucis sur l'ajout de jointures ?
Bonjour Thierry,
Peux tu nous dire quelle est ta configuration ?
Version d'Oracle, de client Oracle sur ton serveur MapGuide, OS Oracle et OS MapGuide ?
Cordialement,
Gwenael
Hors ligne
#9 Wed 24 February 2010 14:43
- nath999
- Participant actif
- Date d'inscription: 24 May 2007
- Messages: 56
Re: MGE 2010 + Oracle : gros soucis sur l'ajout de jointures ?
Bonjour
je viens de relire un pue le début de ce problème
une chose de façon générale vous lisez une source FDo spatiale avec un pilote Oracle /FDO
si vous réalisez une jointure vers une table de cette même base sous MapGuide je vous conseillerai de créer cette fois ci une connexion FD/ODBC vers cette même base et de réaliser la jointure en passant par la connexion FDO/ODBC et pas la FDO Oracle . J'ai constaté que cela passait mieux. Mais je pense que la solution de la vue sous Oracle garanti de meilleures performances .
En ce qui concerne la vue , il faudrait vous assurer que la métadonnées de cette vue est bien présente dans la vue
user_sdo_geom_metadata_table .Une question bête sous Oracle simplement est ce que cette vue est opérationnelle ?
car en théorie : clé primaire sur la vue et métadonnées suffisent .c'est une vue elle peut s'appuyer sur l'index spatial de la table principale .
Cordialement
Nathalie
Hors ligne
#10 Wed 24 February 2010 18:48
- Thierry21
- Participant occasionnel
- Date d'inscription: 10 Aug 2006
- Messages: 45
Re: MGE 2010 + Oracle : gros soucis sur l'ajout de jointures ?
Bonsoir à tous,
@Gwenael :
oracle 10g (10.2.0.10) + locator.
Client oracle du serveur maguide : 10g
Os oracle : WS 2003
Os mapguide : WS 2003
(oracle et mapguide enterprise 2010 sur 2 serveurs séparés)
@Nathalie :
je vais faire un test en ODBC, je vous tiens au courant, vu les volumes des tables, j'ai un peu peur des perfs...
Au niveau oracle la vue est opérationnelle, les métadonnées sont bien présentes
car en théorie : clé primaire sur la vue et métadonnées suffisent
qui a dit "la théorie et la pratique ..." ?
Hors ligne
#11 Wed 24 February 2010 21:27
- nath999
- Participant actif
- Date d'inscription: 24 May 2007
- Messages: 56
Re: MGE 2010 + Oracle : gros soucis sur l'ajout de jointures ?
Bonsoir
oups mauvaise expression alors
en théorie et en pratique cles clés et les métadonnées suffisent
croyez moi je manipule mapguide et les vues Oracle trrrrrrrrès souvent :-)
question bête : votre clé dans la vue est elle la même que celle de la table principale de la jointure ?
sinon est ce que votre client Oracle sur le serveur MAPGUIDE est en 10G2 aussi ?
Cordialement
sinon je ne sais pas quel est votre volume de données mais effectivement la jointure "classique" et le pilote FDO/ODBC seront moins performants que la vue réalisant la jointure sous Oracle .
Cordialement
Hors ligne
#12 Thu 25 February 2010 09:16
- Gwenael Bachelot
- Participant assidu
- Lieu: Bureau Autodesk : Paris 12ème
- Date d'inscription: 5 Sep 2005
- Messages: 608
- Site web
Re: MGE 2010 + Oracle : gros soucis sur l'ajout de jointures ?
Bonjour,
@Gwenael :
oracle 10g (10.2.0.10) + locator.
Client oracle du serveur maguide : 10g
Os oracle : WS 2003
Os mapguide : WS 2003
(oracle et mapguide enterprise 2010 sur 2 serveurs séparés)
Thierry, est-ce que les clients et serveurs Oracle sont de la même version/build (10.2.0.10) ?
Ca peut se vérifier avec un sqlplus, qui va indiquer les deux versions.
En tout cas, je confirme que :
1- il faut privilégier une vue à une jointure
2- MapGuide sait accéder à une vue Oracle
Bref, ca DOIT marcher :-)
Cordialement,
Gwenael
Dernière modification par Gwenael Bachelot (Thu 25 February 2010 09:16)
Hors ligne
#13 Thu 25 February 2010 09:42
- Thierry21
- Participant occasionnel
- Date d'inscription: 10 Aug 2006
- Messages: 45
Re: MGE 2010 + Oracle : gros soucis sur l'ajout de jointures ?
Bonjour,
@Gwenael
Sur le serveur oracle :
Code:
SQL*Plus: Release 10.2.0.1.0 - Production on Thu Feb 25 09:29:45 2010 Copyright (c) 1982, 2005, Oracle. All rights reserved. Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options SQL>
Sur le serveur MGE2010 :
Code:
Microsoft Windows [version 5.2.3790] (C) Copyright 1985-2003 Microsoft Corp. C:\Documents and Settings\adm-MGE2010>sqlplus SQL*Plus: Release 10.2.0.1.0 - Production on Thu Feb 25 09:32:17 2010 Copyright (c) 1982, 2005, Oracle. All rights reserved. Enter user-name:
@Nathalie : les clefs sur la vue et la table initiale portent bien sur le même champ.
Hors ligne
#14 Fri 26 February 2010 16:10
- Thierry21
- Participant occasionnel
- Date d'inscription: 10 Aug 2006
- Messages: 45
Re: MGE 2010 + Oracle : gros soucis sur l'ajout de jointures ?
Re-Bonjour,
voila les résultats des test effectués avec ODBC dans MapguideStudio:
Tests avec OSGeo FDO Provider for ODBC:
1er test :
type of connection : Connect to a database
type of database : Oracle (Oracle Driver)
renseignement : nom de la base + user + mdp
Test connection :
An exception occurred in FDO component.
RDBMS: No current open database
Deuxième test
déclaration d'un DSN sur le serveur, avec la console d'administration ODBC (pilote oracle)
type of connection : Connect via a Data Source Name (DSN) set up on this server
Data Source Name (DSN) : MONDSN
renseignement : user + mdp
Test connection : Successful
Creation de calque basé sur cette ressource : impossible.
Soit
les "Feature Class" sont visibles mais en fait seules les 6 premières de la liste exposent leurs champs)
les "Feature Class" ne s'affichent pas
Troisième test
déclaration d'un DSN sur le serveur, avec la console d'administration ODBC (pilote Microsoft oracle)
type of connection : Connect via a Data Source Name (DSN) set up on this server
Data Source Name (DSN) : MONDSN2
renseignement : user + mdp
Test connection : Successful
Creation de calque basé sur cette ressource : impossible.
Soit
les "Feature Class" sont visibles mais n'exposent pas leurs champs
les "Feature Class" ne s'affichent pas
comme vous voyez, c'est pas brillant ...
Hors ligne
#15 Mon 15 March 2010 17:54
- Thierry21
- Participant occasionnel
- Date d'inscription: 10 Aug 2006
- Messages: 45
Re: MGE 2010 + Oracle : gros soucis sur l'ajout de jointures ?
C'est bon, c'est résolu : mea culpa : ça vient de mes scripts sql de création de tables et de vues.
Il y avait un espace qui trainait à la fin du nom de la vue.
Dans ce cas, lors d'une requête à la table mdsys.sdo_geom_metadata_table on voit bien la vue mais si on utilise all_sdo_geom_metadata on ne la voit plus.
Merci à ceux qui ont pris la peine d'essayer de m'aider.
Hors ligne
Pages: 1
- Sujet précédent - MGE 2010 + Oracle : gros soucis sur l'ajout de jointures ? - Sujet suivant