Bonjour,
Après des recherches sur internet et sur le site, je n'ai malheureusement pas trouvé réponse à ma(mes) question(s). Je me permet donc de demander votre aide
Nouveau sur SSIS, je cherche des informations précises suite à un problème de query à travers ce dernier. Ma situation est comme suit:
Je désire récupérer des données depuis une base MySQL. J'ai pour ce fait installé le dernier Driver ODBC disponible sur le site mysql.com. J'y accède normalement par un connecteur ADO NET source et utilise "SQL command" pour le Data access mode.
La query que je souhaite ensuite effectuer est la suivante:
J'ai testé cette requête à travers MySQL Workbench. Elle fonctionne et me retourne les données dont j'ai besoin.
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
18
19
20
21
22
23 SELECT activity_log.al_comment, activity_log.al_billable, activity_log.al_onsite, activity_log.al_duration, user_proj_act_bind.upab_rate, activity_bind.ab_rate, user_bind.ub_rate, clients.clnt_tax, projects.p_forfait, projects.p_onsitecharge, projects.p_nbdays FROM projects LEFT JOIN clients ON (projects.p_client_id = clients.clnt_id), activity_log LEFT JOIN user_bind ON (user_bind.ub_id_p = activity_log.al_project_id) LEFT JOIN activity_bind ON (activity_bind.ab_id_a = activity_log.al_activity_id) AND (activity_bind.ab_id_p = activity_log.al_project_id) LEFT JOIN user_proj_act_bind ON (user_proj_act_bind.upab_id_u = activity_log.al_user_id) AND (user_proj_act_bind.upab_id_a = activity_log.al_activity_id) AND (user_proj_act_bind.upab_id_p = activity_log.al_project_id) WHERE projects.p_id = activity_log.al_project_id
Après avoir entré cette requête dans le connecteur ADO NET source, je désire faire une preview... SQL Server BI Dev Studio cesse alors de fonctionner (not responding). J'ai tout de même patienté bien quelques minutes.
Je me suis alors demandé s'il s'agissait du nombre de lignes dans ma base : Je n'en ai pourtant qu'environs 11000.
Je suis ensuite passé par le query builder.
La requête qu'il me crée lorsque je la valide est la suivante :
Mis à part le côté inesthétique, lorsque j'effectue une preview, j'obtiens une erreur en retour de la part de mon connecteur ODBC. J'imagine donc aisément que certaines parties de la query ne sont pas supportées par ce connecteur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 SELECT activity_log.al_comment, activity_log.al_billable, activity_log.al_onsite, activity_log.al_duration, user_proj_act_bind.upab_rate, activity_bind.ab_rate, user_bind.ub_rate, clients.clnt_tax, projects.p_forfait, projects.p_onsitecharge, projects.p_nbdays FROM { oj projects LEFT OUTER JOIN clients ON projects.p_client_id = clients.clnt_id }, { oj { oj { oj activity_logL LEFT OUTER JOIN user_bind ON user_bind.ub_id_p = al_project_id } LEFT OUTER JOIN activity_bind ON activity_bind.ab_id_a = al_activity_id AND activity_bind.ab_id_p = al_project_id } LEFT OUTER JOIN user_proj_act_bind ON user_proj_act_bind.upab_id_u = al_user_id AND user_proj_act_bind.upab_id_a = al_activity_id AND user_proj_act_bind.upab_id_p = al_project_id } WHERE (projects.p_id = activity_log.al_project_id)
Mes questions sont donc les suivantes:
- N'ayant jamais eu de problèmes avant avec le connecteur ODBC, celui-ci pourrait-il être en cause pour ce qui est du plantage de l'interface de dev ?
- Dois-je réécrire une requête SQL compatible SQL Server ET MySQL d'une autre façon afin qu'elle ne soit pas modifiée par le query builder (j'entends par là laisser tomber mon imbrication de left join) ?
- Aurais-je laissé passer une erreur dans ma requête, ce qui causerait ce couac ?
Merci d'avance pour votre aide !
Edit : Bon pour la requête de base, énorme erreur de ma part dans ma requête... Et j'ai fait péter les plombs à mon driver ODBC... Toujours revérifier ses jointures...
Cependant, je reste preneur d'une solution pour l'empêcher de tout changer l'écriture de notre query par le query builder
Mes excuses pour le dérangement![]()
Partager