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

Adaptive Server Enterprise Sybase Discussion :

Un engine, plusieurs listeners chacun attaquant ses propres bases (est-ce possible ?)


Sujet :

Adaptive Server Enterprise Sybase

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 24
    Par défaut Un engine, plusieurs listeners chacun attaquant ses propres bases (est-ce possible ?)
    Bonjour,

    Mon problème est le suivant :

    j'ai un engine sur mon serveur unix et je souhaite pas en faire tourner d'autres sur cette machine.

    j'ai un listener

    j'ai deux bases de données (pour l'instant) COMMANDES et ARTICLES
    mes clients (programmes C ou ASE ISQL) se connectent sur les bases en question, tout va bien

    je souhaite pouvoir créer sur le même engine une base ARTICLES1 et ARTICLES2 et COMMANDES1 et COMMANDES2 par exemple,

    mes procédures stockées qui se trouvent dans COMMANDES font des requetes du type

    select ... from COMMANDES..TABLE_CMD, ARTICLES..TABLE_ARTICLE where ...

    Si je souhaite poster une procédure stockée telle que celle-ci sur COMMANDES1 ou COMMANDES2 je vais avoir un problème puisque soit la procstoc ne va pas compiler soit elle ne va pas acceder a la bonne base de données.

    Comment puis-je faire de manière pratique pour régler ce problème

    puis-je remplacer les références de bases des clauses select, insert ... par des variables d'environnement (je ne pense pas que ça marche), puis-je lancer plusieurs listeners sur des ports différents qui attaqueront les bases souhaitées (comment paramétrer le mapping si cela est possible), ...

    Si vous savez comment faire merci par avance de votre aide.

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 307
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 307
    Par défaut
    Utiliser plusieurs listener dans ce cas ne sert à rien...

    Il faut soit dupliquer la proc dans chaque base source, avec les noms des bases codés de façon appropriée, soit utiliser la méthode de l'execute immediate:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    declare @sql varchar(500)
     
    select @sql = 'select .... from ' + @base1 + '....'
     
    exec (@sql)
    Utiliser l'exécute immediate implique qu'on annule certains des avantages des procs stockées, en particulier au niveau des permissions sur les objets sous-jacents (tables, etc).

    Le fait de devoir utiliser ces techniques sont parfois une indication qu'il y a un problème fondamental au niveau de l'architecture de la base...

    Michael

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 24
    Par défaut
    Bonjour et merci pour votre réponse,

    Je ne souhaite pas utiliser l'exécution immédiate car cela pose certains problèmes comme vous l'avez souligné, notamment en terme de contrôle du code qui se trouve dans les chaines construites pour créer les requêtes (elles ne sont vérifiées qu'a l'exécution ...)

    En fait les deux bases dont je dispose sont d'un coté la base d'un éditeur de logiciel à laquelle j'accède, de l'autre ma propre base dans laquelle je stocke des procédures stockées qui accédent à ma base et à celle de l'éditeur de logiciel.

    Les procstocs seront stockées dans les différentes bases mais se pose le problème de la recompilation des procsstocs d'autant que celles-ci se trouvent sous CVS afin que les développeurs partagent le code. Je me vois mal leur demander d'appliquer une moulinette sur les noms de bases en fonction de l'environnement sur lequel ils souhaitent compiler (si sous CVS je stock ma proc stoc avec COMMANDES et ARTICLES et que je veux compiler sur COMMANDES1 et ARTICLES1), il leur faudra ouvrir la proc stoc qui est sous CVS, modifier les noms de bases, compiler, ce qui est source d'erreur/d'oubli au niveau de la modification.

    N'y-a-t-il pas un système qui permette de faire tourner plusieurs listeners sur différents ports avec mapping port/bases ?

  4. #4
    Membre Expert

    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 307
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 307
    Par défaut
    N'y-a-t-il pas un système qui permette de faire tourner plusieurs listeners sur différents ports avec mapping port/bases ?
    Non.

    Par contre tu pourrais créer plusieurs instances, avec des données différentes, mais où le nom des bases est constant...

    Michael

  5. #5
    Rédacteur/Modérateur

    Avatar de Fabien Celaia
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    4 228
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 228
    Billets dans le blog
    25
    Par défaut
    Si, quand même, en cas de Cluster.... mais ce n'est pas le sujet...
    Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2

    N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD

    Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !

Discussions similaires

  1. Créer ses propres Listener Java
    Par bind ways dans le forum Débuter avec Java
    Réponses: 13
    Dernier message: 03/08/2011, 19h45
  2. Réponses: 5
    Dernier message: 03/08/2007, 09h24
  3. Créer ses propres listeners
    Par Nasky dans le forum Langage
    Réponses: 9
    Dernier message: 18/03/2007, 18h38
  4. Programme permettant de créer ses propres paquets TCP/UDP
    Par mat087 dans le forum Développement
    Réponses: 6
    Dernier message: 21/05/2004, 21h42

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