IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SSRS Discussion :

[SSRS] [2K5] Reporting sur plusieurs bases de données


Sujet :

SSRS

  1. #1
    Membre régulier
    Inscrit en
    Mai 2009
    Messages
    217
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 217
    Points : 103
    Points
    103
    Par défaut [SSRS] [2K5] Reporting sur plusieurs bases de données
    Bonjour,

    Je développe des rapports avec Reporting Services sur des bases de données sqlserver 2005 de l'ERP Dynamics Nav :

    J'ai plusieurs bases (Une base de production et une base de test) et chaque base est multi-sociétés.

    Mon probleme est : comment développer un seul rapport qui pourra fonctionner invariablement sur mes deux bases ?
    La source de données qui contient la chaine de connexion est associée aux dataset des rapports.

    (pour gérer le multi sociétés au sein d'une base, je me suis créé des vues qui font des UNION des tables qui m'intéressent et mes dataset travaillent sur ces vues. J'introduis la société dans les colonnes de ma vue et je la fait choisir en paramètre aux utilisateurs, Cela marche parfaitement.
    Par contre, si je rajoute un jour une société, il faudra que j'aille modifier mes vues mais bon ...).

    Mais pour gérer le multi bases :

    Soit je suis obligé de dupliquer chacun de mes rapports.

    Soit j'ai bien pensé à la solution de créer des vues qui fassent des UNION des tables de mes différentes bases mais ça commence à devenir lourdingue !

    Quelqu'un a t il une meilleure solution ?

    Merci d'avance

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 9
    Points : 11
    Points
    11
    Par défaut
    Bonjour,

    Pourriez vous précisez ce que vous êtes en train de faire ?

    Pour votre base de test et votre base de production, a structure de tables identique, le changement de valeur dans la chaine de connexion doit être suffisant normalement.

    Ensuite vous parlez de requêtes union, ce qui m'inquiète c'est que vous dites avoir besoin de modifier les requêtes pour chaque nouvelle société créée ? Je ne connais pas la structure des bases SQL fournies avec MS Dynamics Navision mais cela veut il dire qu'à chaque création de société il y a une table différente ?

    Ces précisions me permettront peut être de mieux vous aider.

    Cdlt,
    G.

  3. #3
    Membre chevronné

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2007
    Messages
    1 216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Août 2007
    Messages : 1 216
    Points : 1 758
    Points
    1 758
    Par défaut
    Citation Envoyé par Gnarfy Voir le message
    Ensuite vous parlez de requêtes union, ce qui m'inquiète c'est que vous dites avoir besoin de modifier les requêtes pour chaque nouvelle société créée ? Je ne connais pas la structure des bases SQL fournies avec MS Dynamics Navision mais cela veut il dire qu'à chaque création de société il y a une table différente ?
    Oui, pour chaque société, navision duplique un set de tables et préfixes celles-ci du nom de la société.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 120
    Points : 69
    Points
    69
    Par défaut Sans faire de pub
    Je suis le responsable de développement d'un progiciel que nous développons et distribuons qui fait exactement cela et même beaucoup plus ...

    ETL, DatawareHouse et Modélisation OLAP au travers d'un seul progiciel ...
    Cubes métiers préexistants et pré paramétrés (ventes, compta, achats, stocks ...) sur les grands standards français (NAV, AX, Sage, Divalto ...) qui sont ensuite modifiables ...

    Pas de nom de société ni de produit ...

    MP si besoin.

  5. #5
    Membre régulier
    Inscrit en
    Mai 2009
    Messages
    217
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 217
    Points : 103
    Points
    103
    Par défaut
    Oui, effectivement comme l'a répondu pour moi ptit dje (merci), chaque société donne lieu à un jeu de tables préfixées du nom de la société. Et en plus, je n'ai pas forcement les mêmes sociétés entre ma base de PROD et ma base de TEST.

    Finalement, ma solution de faire une vue sur les différentes sociétés des différentes bases n'est pas si mauvaise. Il faut juste faire saisir en paramètre à l'utilisateur du rapport le nom de la base et le nom de la société.

    Merci à scornille de sa proposition mais aucun budget supplémentaire dispo. temps de crise, il faut se débrouiller comme on peut ... (par contre, une petite astuce ou un p'tit conseil gratuit serait le bienvenu !).

    Je passerai cette discussion en résolu d'ici 2 ou 3 jours si personne ne m'apporte son avis éclairé d'ici la.

    Merci
    A+

  6. #6
    Membre chevronné

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2007
    Messages
    1 216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Août 2007
    Messages : 1 216
    Points : 1 758
    Points
    1 758
    Par défaut
    Si je ne me trompe pas, navision comporte une table référencant les différentes sociétés.
    Vous pourriez penser à écrire une sp générant du SQL dynamique sur base de cette liste de sociétés (Solution pour eviter les UNION statiques).

    Par contre je ne comprend pas pour quelle raison vous souhaiter merger des données de test et des données de prod dans le même rapport.

  7. #7
    Membre régulier
    Inscrit en
    Mai 2009
    Messages
    217
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 217
    Points : 103
    Points
    103
    Par défaut
    Oui effectivement il y a la table company qui donne les sociétés.

    Je ne veux pas merger les données de test et les données de prod, je veux seulement faire des rapports qui puissent s' exécuter soit sur les données de test soit sur les données de prod, mais sans être obligé de dupliquer chaque rapport.

  8. #8
    Membre chevronné

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2007
    Messages
    1 216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Août 2007
    Messages : 1 216
    Points : 1 758
    Points
    1 758
    Par défaut
    Dans ce cas, basez votre rapport sur le résultat d'une stored procedure qui vous retournera dynamiquement les informations souhaitées sur base de la table compagnie de votre environnement.

    La logique dans les grandes lignes:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    declare @query varchar(...) -- Taille a definir
     
    While @i < nbrSociete
    Begin
     
    if i <> nbrSociete
    select @query = @query + 'select ... from [' + nomSociete + '.Table] ... UNION ' from TableSociete where id_Societe = @i
    else
    select @query = @query + 'select ... from [' + nomSociete + '.Table] ... ' from TableSociete where id_Societe = @i
     
    set @i = @i + 1
     
    end
     
     
    sp_executesql @query

  9. #9
    Membre régulier
    Profil pro
    DSI
    Inscrit en
    Mars 2009
    Messages
    102
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : DSI

    Informations forums :
    Inscription : Mars 2009
    Messages : 102
    Points : 73
    Points
    73
    Par défaut
    Bonjour,

    J'ai le même genre de problématique que toi sur Navision.

    Un cube Multi Serveur (1 par région), Multi Société.

    Je m'en suis sorti avec, au niveau de mon datamart, la création d'une table Serveur/Base/Préfixe Société$ qui me permet de générer la vue globale via une sp, dans le genre de celle de Ptit_Dje. Plus de problème quand je rajoute des sociétés et/ou quand je redispatche mes bases sur les serveurs.

  10. #10
    Membre régulier
    Inscrit en
    Mai 2009
    Messages
    217
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 217
    Points : 103
    Points
    103
    Par défaut
    OK, je vois à peu prés vos suggestions... Je vais creuser tout ça !

    Je vous remercie de vos remarques.

    A+ bonne journée

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 16/11/2007, 17h54
  2. [PDO] Requêtes sur plusieurs bases de données
    Par nabab dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 23/08/2007, 08h11
  3. requete sur plusieurs bases de données
    Par bankette dans le forum Requêtes
    Réponses: 4
    Dernier message: 15/06/2007, 14h06
  4. Requête sur plusieurs bases de données
    Par Oluha dans le forum ASP
    Réponses: 8
    Dernier message: 14/10/2005, 14h57
  5. triggers sur plusieurs bases de données
    Par Shabata dans le forum Langage SQL
    Réponses: 2
    Dernier message: 04/05/2004, 10h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo