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

SSIS Discussion :

Récupérer SID d'Active Directory


Sujet :

SSIS

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    180
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 180
    Points : 91
    Points
    91
    Par défaut Récupérer SID d'Active Directory
    Bonjour,

    J'arrive à me connecter via un dataFlow à l'AD de ma boite et voudrais récupérer le SID de mes utilisateurs, seulement je ne trouve pas l'attribut, je récupère un objet.

    J'utilise le sql suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT cn,sAMAccountName, objectSID  FROM 'LDAP://monserver/ou=Permanents,DC=fr' WHERE objectClass='User'
    le résultat dans le Resulset :
    Olivier Joe,System.Byte[]
    merci pour votre aide
    (ps: j'essai aussi de faire des updates, cela ne semble pas prendre non plus via SQLTask....)

  2. #2
    Membre émérite Avatar de FrancoisJehl
    Homme Profil pro
    BI Engineer
    Inscrit en
    Juillet 2009
    Messages
    1 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : BI Engineer
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 485
    Points : 2 883
    Points
    2 883
    Par défaut
    Normalement ça mappe bien. Que ce soit affiché System.Byte[] dans le viewer ne veut pas dire que SSIS ne le gère pas bien. Tu as essayé de convertir ton Byte array en chaine dans un script?
    François JEHL
    BI Engineer | MVP SQL Server
    http://fjehl.wordpress.com
    Pour me contacter, par MP ou ici, mais pas pour des questions techniques.

    /*
    Avant de poster cherchez dans la FAQ et utilisez la fonction "Rechercher" du forum.
    Au moment de poster, posez votre question dans le bon sous-forum (Débuter, SSAS, SSRS, SSIS), en utilisant les TAGs prédéfinis ([2K], [2K5], [2K8], [2K8R2]).
    */

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    180
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 180
    Points : 91
    Points
    91
    Par défaut
    merci de ta réponse François.

    je dois reconnaitre que je ne suis pas passé dans un scrypt (suis pas des plus agile avec ça) j'essai de l'écrire dans un fichier de destination.

    j'essai d'utiliser l'outil "colone dérivée" avec la formule
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (DT_TEXT,1252)objectSID
    sans succès ma sortie reste avec "System.Byte[]"

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Novembre 2010
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Novembre 2010
    Messages : 20
    Points : 26
    Points
    26
    Par défaut
    Il ne faut pas utiliser le composant "Colonne dérivée" mais plutôt le composant "Script Component" (comme l'a précisé François).
    Tout simplement, tu ajoutes ce composant en mode transformation et tu ajoutes le script suivant ;

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    string TaChaine = System.Text.Encoding.Unicode.GetString(Row.objectSID.GetBlobData(0, Convert.ToInt32(Row.objectSID.Length)));
    Pour tester si ça marche, tu peux afficher le résultat en utilisant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    messagebox.show(TaChaine );
    Cordialement,
    KHAZROUNI

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    180
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 180
    Points : 91
    Points
    91
    Par défaut
    Bonjour et merci pour vos réponses.

    j'avoue que je galère, j'ai tapé ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     string st =System.Text.Encoding.Unicode.GetString(Row.objectSID.GetBlobData(0, Convert.ToInt32(Row.objectSID.Length)));
    // messagebox.show(TaChaine );
    Row.sid = st;
    Console.WriteLine(st);
    Sans succès. "sid" étant une colone de sortie que j'ai essayé d'ajouter à mon flux.

    Je me retrouve encore avec la valeur "System.Byte[]", je ne dois pas réussir à convertir

    Par ailleurs, mon éditeur ne reconnais pas la commande "messagebox.show" et la Console.WriteLine ne semble pas marcher (peut être faut il l'activer mais je me perd dans l'interface)

    merci encore du temps que vous me consacrer

  6. #6
    Membre émérite Avatar de FrancoisJehl
    Homme Profil pro
    BI Engineer
    Inscrit en
    Juillet 2009
    Messages
    1 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : BI Engineer
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 485
    Points : 2 883
    Points
    2 883
    Par défaut
    Dans le dernier onglet de ton script component, crée une nouvelle colonne de type chaîne de caractère - DT_WSTR - dans ton composant script. Appelle là "SIDChaine".
    Le code que khazrouni t'a donné (qui ressemble à ça) devrait tourner normalement.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Row.SIDChaine = System.Text.Encoding.UTF8.GetString(Row.Sid);
    François JEHL
    BI Engineer | MVP SQL Server
    http://fjehl.wordpress.com
    Pour me contacter, par MP ou ici, mais pas pour des questions techniques.

    /*
    Avant de poster cherchez dans la FAQ et utilisez la fonction "Rechercher" du forum.
    Au moment de poster, posez votre question dans le bon sous-forum (Débuter, SSAS, SSRS, SSIS), en utilisant les TAGs prédéfinis ([2K], [2K5], [2K8], [2K8R2]).
    */

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Novembre 2010
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Novembre 2010
    Messages : 20
    Points : 26
    Points
    26
    Par défaut
    Pour pouvoir utiliser MessageBox.Show, il faut que tu ajoutes

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    using System.Windows.Forms;
    en haut de ton script

Discussions similaires

  1. Réponses: 1
    Dernier message: 21/10/2010, 15h03
  2. Réponses: 1
    Dernier message: 21/05/2010, 02h14
  3. Récupérer Identifiant Session Active Directory avec JAVA
    Par C-Jay dans le forum Windows Serveur
    Réponses: 0
    Dernier message: 20/05/2010, 08h43
  4. récupérer champ dans Active Directory
    Par cougar5 dans le forum Langage
    Réponses: 9
    Dernier message: 08/03/2010, 23h13
  5. Réponses: 1
    Dernier message: 19/01/2006, 16h23

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