Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > ETL > Sunopsis
Sunopsis Forum d'entraide Sunopsis
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/07/2007, 14h34   #1
Futur Membre du Club
 
Inscription : juillet 2007
Messages : 26
Détails du profil
Informations personnelles :
Âge : 30

Informations forums :
Inscription : juillet 2007
Messages : 26
Points : 18
Points : 18
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 :
Citation:
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 :
Citation:
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.
Morgwen est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/07/2007, 12h06   #2
Membre régulier
 
Inscription : juillet 2007
Messages : 82
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 82
Points : 76
Points : 76
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
bmontandon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/07/2007, 11h54   #3
Futur Membre du Club
 
Inscription : juillet 2007
Messages : 26
Détails du profil
Informations personnelles :
Âge : 30

Informations forums :
Inscription : juillet 2007
Messages : 26
Points : 18
Points : 18
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.
Morgwen est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/07/2007, 13h16   #4
Membre régulier
 
Inscription : juillet 2007
Messages : 82
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 82
Points : 76
Points : 76
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...)?
bmontandon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/07/2007, 13h51   #5
Futur Membre du Club
 
Inscription : juillet 2007
Messages : 26
Détails du profil
Informations personnelles :
Âge : 30

Informations forums :
Inscription : juillet 2007
Messages : 26
Points : 18
Points : 18
Citation:
Envoyé par bmontandon
Peux tu le mettre stp
Je l'ai mis : socket creation error
Plus précisément:
Citation:
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
Type de fichier : png erreur_connexion.PNG (11,7 Ko, 7 affichages)
Morgwen est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/07/2007, 14h15   #6
Membre régulier
 
Inscription : juillet 2007
Messages : 82
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 82
Points : 76
Points : 76
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 :
Citation:
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...
bmontandon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/07/2007, 15h01   #7
Futur Membre du Club
 
Inscription : juillet 2007
Messages : 26
Détails du profil
Informations personnelles :
Âge : 30

Informations forums :
Inscription : juillet 2007
Messages : 26
Points : 18
Points : 18
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:
Citation:
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.
Morgwen est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/07/2007, 15h25   #8
Membre régulier
 
Inscription : juillet 2007
Messages : 82
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 82
Points : 76
Points : 76
pas de quoi...

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

A+
bmontandon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/04/2008, 18h02   #9
Invité de passage
 
Inscription : avril 2008
Messages : 4
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 4
Points : 2
Points : 2
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
BOBI59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h17.


 
 
 
 
Partenaires

Hébergement Web