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

ODI (ex-Sunopsis) Discussion :

Sunopsis : utilisation de la fonction SnpsSqlUnload


Sujet :

ODI (ex-Sunopsis)

  1. #1
    Nouveau membre du Club
    Femme Profil pro
    Consultant Gestion de projet
    Inscrit en
    Juillet 2007
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 42
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant Gestion de projet

    Informations forums :
    Inscription : Juillet 2007
    Messages : 27
    Points : 29
    Points
    29
    Par défaut Sunopsis : utilisation de la fonction SnpsSqlUnload
    Bonjour

    Je cherche à exporter le résultat d'une interface Sunopsis dans un fichier plat (txt ou csv).
    J'utilise pour cela la fonction SnpsSqlUnload paramétrée de la manière suivante :
    SnpsSqlUnload "-FILE=C:\Documents and Settings\A000000\Bureau\Fichiers\HERMES_GRC.txt" "-DRIVER=com.microsoft.sqlserver.jdbc.SQLServerDriver" "-URL=jdbc:sqlserver://fr-ulisDB.groupinfra.com:1433" "-USER=SNPS_MAITRE" "-PASS=gPya3SvYPuehH.KUL4whBp" "-FILE_FORMAT=VARIABLE" "-FIELD_SEP=;" "-XROW_SEP=0D0A" "-DATE_FORMAT=yyyyMMdd" "-CHARSET_ENCODING=ISO8859_1" "-XML_CHARSET_ENCODING=ISO-8859-1"
    SELECT * FROM BASE_TRAVAIL_SUNOPSIS_PORTEFEUILLE.dbo.HERMES_GRC
    J'ai utilisé cette fonction dans un package à la suite de mon interface. Les informations de connexion obligatoires (driver, url, user, pass) sont apparemment correctes (elles viennent du fichier snps_login_security.xml) et correspondent à la connexion au Référentiel Maître.
    Pourtant, quand je lance mon package, je récupère le message d'erreur :
    com.microsoft.sqlserver.jdbc.SQLServerException: Invalid object name 'BASE_TRAVAIL_SUNOPSIS_PORTEFEUILLE.dbo.HERMES_GRC'.

    at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(Unknown Source)

    at com.microsoft.sqlserver.jdbc.I
    La requête que j'utilise marche parfaitement sous SQL Server 2005, la table existe.

    Quelqu'un sait-il d'où vient cette erreur ?
    Est-ce qu'il n'est pas possible de récupérer les identifiants de connexions autrement ? (après tout, Sunopsis les utilise tout seul pour ses interfaces)
    Où existe-t-il un autre moyen efficace d'exporter ma requête dans un fichier plat ?

    Mille merci d'avance à qui pourra m'aider.

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2007
    Messages : 82
    Points : 92
    Points
    92
    Par défaut
    essaye de changer tes infos de connexion en mettant celle du fichier SNPPARAMS plutot.

    Il faut savoir aussi qu'à l'installation de Sunopsis ces infos ne sont pas forcément juste.
    Je crois qu'il est possible de regénérer le fichier snps_login_security.xml (cf. la doc je crois).

    Sinon le plus simple pour toi est de regénérer le mot de passe crypté avec l'agent.bat
    ..\bin\agent(.bat ou .sh) encode <mot_de_passe_en_clair>

    Sinon j'ai remarqué que tu avais tes paramètres dans un ordre différents de celui de la doc mais j'espère que c'est pas aussi tatillon que ça...
    (CHARSET_ENCODING et XML_CHARSET_ENCODING qui sont entre le Driver et l'URL dans la doc)


    En espérant que j'ai pu t'aider

    bonne chance

  3. #3
    Nouveau membre du Club
    Femme Profil pro
    Consultant Gestion de projet
    Inscrit en
    Juillet 2007
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 42
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant Gestion de projet

    Informations forums :
    Inscription : Juillet 2007
    Messages : 27
    Points : 29
    Points
    29
    Par défaut
    Citation Envoyé par bmontandon
    essaye de changer tes infos de connexion en mettant celle du fichier SNPPARAMS plutot.
    J'ai essayé mais dans le fichier snpparams il n'y a pas de mot de passe renseigné et le message d'erreur retourné est socket creation error.

    Citation Envoyé par bmontandon
    Je crois qu'il est possible de regénérer le fichier snps_login_security.xml (cf. la doc je crois).
    Je n'ai pas le fichier xml d'origine. Celui que j'ai a été copié d'après un fichier réseau où étaient prédéfinis les paramètre de connexion.

    Citation Envoyé par bmontandon
    Sinon j'ai remarqué que tu avais tes paramètres dans un ordre différents de celui de la doc mais j'espère que c'est pas aussi tatillon que ça...
    (CHARSET_ENCODING et XML_CHARSET_ENCODING qui sont entre le Driver et l'URL dans la doc)
    Euh... l'ordre que j'ai donné est celui que Designer a généré tout seul comme un grand vu que je me suis contentée de rentrer les paramètres à la main dans un package... J'ai modifié l'ordre dans ce code généré et ça m'a donné exactement le même message d'erreur donc je suppose que ça ne vient pas de là (ç'aurait été gros, quand même!)

    Bref, ça ne marche toujours pas (quoi que j'aie maintenant un message d'erreur inédit! ) mais merci de ton aide, bmontandon.

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2007
    Messages : 82
    Points : 92
    Points
    92
    Par défaut
    Citation Envoyé par Morgwen
    quoi que j'aie maintenant un message d'erreur inédit!

    Peux tu le mettre stp

    sinon petites questions:
    je vois ça
    Citation Envoyé par Morgwen
    "-URL=jdbc:sqlserver://fr-ulisDB.groupinfra.com:1433" "-USER=SNPS_MAITRE"
    c'est bien la connexion à ta BD BASE_TRAVAIL_SUNOPSIS_PORTEFEUILLE ? et non pas à ton référentiel maitre (je pose la question juste à cause du user) ?

    sinon si tu te connectes en SNPS_MAITRE sur l'editeur de requete de MSSQL Serveur tu peux la jouer ta requête (ça parait evident mais bon...)?

  5. #5
    Nouveau membre du Club
    Femme Profil pro
    Consultant Gestion de projet
    Inscrit en
    Juillet 2007
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 42
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant Gestion de projet

    Informations forums :
    Inscription : Juillet 2007
    Messages : 27
    Points : 29
    Points
    29
    Par défaut
    Citation Envoyé par bmontandon
    Peux tu le mettre stp
    Je l'ai mis : socket creation error
    Plus précisément:
    java.sql.SQLException: socket creation error

    at org.hsqldb.jdbc.jdbcUtil.sqlException(jdbcUtil.java:67)

    at org.hsqldb.jdbc.jdbcConnection.<init>(jdbcConnection.java:2451)

    at org.hsqldb.jdbcDriver.getConnection(jdbcDriver.java:188)

    at org.hs
    Citation Envoyé par bmontandon
    c'est bien la connexion à ta BD BASE_TRAVAIL_SUNOPSIS_PORTEFEUILLE ? et non pas à ton référentiel maitre (je pose la question juste à cause du user) ?
    Non, c'est ma connexion au référentiel maître (parce c'est ce que la fonction semble demander. Il est écrit :Utilisateur de connexion au référentiel maître (utilisateur de la base de données)). J'ai essayé de mettre les identifiants de connexion à ma BD mais ça ne marche pas (message d'erreur :Login failed for user 'Sunopsis')

    Citation Envoyé par bmontandon
    sinon si tu te connectes en SNPS_MAITRE sur l'editeur de requete de MSSQL Serveur tu peux la jouer ta requête (ça parait evident mais bon...)?
    Non, si j'utilise SNPS_MAITRE je ne peux pas me connecter à SQL Server 2005. J'ai ce message d'erreur :
    Images attachées Images attachées  

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2007
    Messages : 82
    Points : 92
    Points
    92
    Par défaut
    Pour moi il s'agit bien des paramètres de connexion à ton Serveur de données sur lequel tu veux jouer ta requête.
    Sur mon aide de Sunopsis j'ai :

    Citation Envoyé par Aide Sunopsis
    -FILE=<file_name>
    Full path to the resulting file, relative to the execution agent.

    -DRIVER=<driver>
    Name of the JDBC driver used to connect to the data server.

    -URL=<url>
    JDBC Url to the data server.

    -USER=<user>
    User (login) on the data server allowing to run a SQL query.

    -PASS=<password>
    Encrypted password for the login to the data server. This password can be encypted with the system command: agent(.bat or .sh) encode <clear_text_password>.
    Note: agent(.bat or .sh) is located in the "bin" directory of your Sunopsis installation.
    j'ai egalement un exemple dans mon aide et ça donne :
    SnpsSqlUnload -FILE=C:\temp\clients.csv -DRIVER=sun.jdbc.odbc.JdbcOdbcDriver -URL=jdbc:odbc:NORTHWIND_ODBC -USER=sa -PASS=NFNEKKNGGJHAHBHDHEHJDBGBGFDGGH -FIELD_SEP=; "-DATE_FORMAT=dd/MM/yyyy hh:mm:ss"

    select cust_id, cust_name, cust_creation_date
    from Northwind.dbo.Customers
    Ici on voit bien que c'est la connexion ODBC vers la BD NorthWind et que la requête attaque egalement cette BD.


    De plus tu devrais juste recopier les infos du Driver que t'as dans ta Topologie pour ce serveur de données.
    Recopier egalement le user issu de la Topologie pour cette BD.
    Puis réencoder ton mot de passe grace à Agent.bat

    et tiens moi au courant...

  7. #7
    Nouveau membre du Club
    Femme Profil pro
    Consultant Gestion de projet
    Inscrit en
    Juillet 2007
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 42
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant Gestion de projet

    Informations forums :
    Inscription : Juillet 2007
    Messages : 27
    Points : 29
    Points
    29
    Par défaut
    Ca y est, mon problème est résolu.

    Il me fallait effectivement les paramètres de connexion au serveur, sauf que les connexions à la dev et et la prod sont un peu trop différentes, ce qui posait problème...

    Par contre, j'avais essayé d'utiliser l'exemple donné par Sunopsis et il ne peut pas marcher. Si tu regardes bien, tu vois que DATE_FORMAT est entouré de ". Tous les paramètres doivent l'être, en fait, pas comme dans l'exemple.

    Bref, au final, ma fonction ressemble à ça:
    SnpsSqlUnload "-FILE=D:\Sunopsis\HERMES_GRC.txt" "-DRIVER=com.microsoft.sqlserver.jdbc.SQLServerDriver" "-URL=jdbc:sqlserver://fr-par-ap13.groupinfra.com:1433" "-USER=Sunopsis" "-PASS=e4ypef2XZVa6WpSTHRdUbJDu" "-FILE_FORMAT=VARIABLE" "-FIELD_SEP=;" "-XROW_SEP=0D0A" "-DATE_FORMAT=yyyyMMdd" "-CHARSET_ENCODING=ISO8859_1" "-XML_CHARSET_ENCODING=ISO-8859-1"
    SELECT * FROM <%=snpRef.getCatalogName("MSSQL_BASE_PORTEFEUILLE", "W")%>.<%=snpRef.getSchemaName("MSSQL_BASE_PORTEFEUILLE", "W")%>.HERMES_GRC
    Je clique donc maintenant sur le joli bouton "résolu".
    Merci bmontandon pour ton aide.

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2007
    Messages : 82
    Points : 92
    Points
    92
    Par défaut
    pas de quoi...

    et c'est bon à savoir pour les guillemets entre les paramètres

    A+

  9. #9
    Futur Membre du Club
    Inscrit en
    Avril 2008
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 4
    Points : 5
    Points
    5
    Par défaut Limitation de snpssqlunload(sunopsis 3.2.03.26)
    Hello,

    Quand le volume de données à récupérer est trop important, la fonction renvoie un fichier vide sans retour d'erreur.
    Cela nous est déjà arriver plusieurs fois.
    Est-ce que quelqu'un connait la limite en volume? Est-ce elle dépendante de la machine, du système ou s'exécute l'agent sunopsis, de la bdd distante, des paramètres Java donner lors de l'exécution de l'agent?

    Merci

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

Discussions similaires

  1. [LG]Utilisation de la fonction time
    Par kmitz dans le forum Langage
    Réponses: 4
    Dernier message: 08/04/2005, 14h05
  2. Utilisation de la fonction de déploiement
    Par mchicoix dans le forum XMLRAD
    Réponses: 4
    Dernier message: 01/03/2005, 15h35
  3. [LG]Utilisation de la fonction Random
    Par chloe95 dans le forum Langage
    Réponses: 1
    Dernier message: 01/03/2005, 15h20
  4. Utilisation de la fonction qsort
    Par Jsmeline dans le forum C
    Réponses: 8
    Dernier message: 28/01/2005, 13h40
  5. [LG]librairies : utiliser seulement quelques fonctions
    Par wwwroom dans le forum Langage
    Réponses: 13
    Dernier message: 14/05/2004, 23h50

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