| |||||
FORUM HardWare.fr

Windows & Software

WinNT, planification AT, lancement .vbs et accès SQL problématique| Dernière réponse | |
|---|---|
| Sujet : WinNT, planification AT, lancement .vbs et accès SQL problématique | |
| Requin | Le problème avec VBScript c'est que la gestion d'erreur est proche de zéro... Si il y une erreur le script est stoppé sans autre forme de procès, toi tu ne peux quasiment rien faire pour intercepter l'erreur.
A peu de chose près la seule chose que tu puisses faire est de lui dire de passer à la ligne suivante en cas d'erreur et d'utiliser l'objet Err pour regarder si une condition d'erreur connue s'est produite. |
| Aperçu |
|---|
| Vue Rapide de la discussion |
|---|
| Requin | Le problème avec VBScript c'est que la gestion d'erreur est proche de zéro... Si il y une erreur le script est stoppé sans autre forme de procès, toi tu ne peux quasiment rien faire pour intercepter l'erreur.
A peu de chose près la seule chose que tu puisses faire est de lui dire de passer à la ligne suivante en cas d'erreur et d'utiliser l'objet Err pour regarder si une condition d'erreur connue s'est produite. |
| HumanRAGE | putain ce travail de sale :lol:
comme koi y a tjs une solution ;) :lol: |
| Prems | Le "On Error Resume Next" réserve TOUJOURS des surprises ;) |
| Leg9 | Ok merci, le problème est résolu... mais ce n'étais rien de tout ça.
En fait UN des scripts s'est lancé sans souci ce w-e. Donc ce n'était pas un pb de droits, pas un pb de service pas démarré, rien de tout ça... En fait, ces gorets dont j'ai repris le code avaient collé un gros "on error resume next" qui camouflait un truc délirant. Dans les scripts se lançant correctement avec moi loggé, mais pas sans personne de loggé, il y avait un type mismatch de folie, un cast de long (clng) qui foirait lamentablement car le cast se faisait sur une chaine du genre "200409 23", l'espace qui tue quoi... J'ai viré le cast, et là une belle erreur SQL m'indiquant qu'il ne peut pas mettre une chaine dans un champs long, normal quoi... MAIS je ne pige toujours pas pourquoi, avec le "on error resume next" ça passait avec moi loggé. Que ça ne passe jamais, moi loggé ou pas, j'aurais compris. Mais là... En fait le cas anormal n'était pas quand ça ne s'éxecutait pas, mais quand ça s'éxecutait alors que ça aurait du planter, vous suivez? :D |
| HumanRAGE |
|
| Requin |
|
| krisix |
|
| HumanRAGE | so what :??: |
| Leg9 | Je ne suis pas un voleur, je ne suis pas un violeur, juste un pauvre petit informaticien voulant coder dans la dignité... [:jofission] |
| Leg9 | Up? Une autre idée quelqu'un? :sweat: |
| Leg9 | Ok merci, je vais voir avec ça.
Je vais en profiter pour aller voir sur prog si quelqu'un peut m'aider pour récupérer les erreurs des scripts vbs. Ca pourrait me donner une idée si les erreurs sont claires. |
| Kalipok |
|
| HumanRAGE | odbc : gestionnaire odbc dans le panno de config, ou dans les outils sql du menu demarrer
tu devrais trouver un des trucs ki correspond a un handle que tu dois utiliser dans tes scripts ... si tu peux trouver kkun avec des competences bdd/odbc, ca vous prendrait 1h a deux, au lieu de te faire chier a passer des heures et des heures tout seul. je c pas comment marche ta boite, mais je sais que dans mes boites passées, g tjs eut moyen de debloquer kkun pendant une heure ou deux quand c'etait la merde et que j'avais besoin d'une competence specifique pour resoudre un probleme urgent msdtc : installé avec ie4 et ultérieur je crois, processus msdtc.exe dans les taches, "Distributed Transaction Coordinator" dans la liste des services, mais si les requetes passent par un driver odbc non pris en charge par le DTC ('tain mais lol koi) ca loguera que dalle si ca logue quelque chose, ca se trouve dans %windir%\system32\msdtc\ le fichier c'est msdtc.log, tout connement (il peut etre ailleurs, g pas de cd nt sous la main pour install et verifier :/) ils sont pas cho pour ca, mais l'important c ke ca marche non ? et puis un server en exploit', verrouillé ou sur la mire de login c kif kif ... (comme je disais, c meme mieux quand il est verrouillé, car quand le systeme a mal au cul, ouvrir une session est parfois impossible, alors que la deverrouiller ne pose aucun probleme) |
| Leg9 | Merci de vos réponses... :sweat:
|
| HumanRAGE |
|
| HumanRAGE |
activer la trace sur le server BD sur les tables concernés par les requetes, ca serait un plus yep |
| HumanRAGE | c'est du NT4 ?
pkoi le server ne pourrait pas avoir une session locale ouverte et verrouillée en exploitation ? on peut mettre un autologon, et utiliser un soft pour verrouiler la session aussitot ouverte, ca a de plus l'avantage d'avoir deja une session ouverte au cas ou le server parte en couille, vu le temps d'ouverture de la 1ere session sur un server (2000 ou nt, meme combat) c meme un + pour la maintenance ... bien verifier les droits odbc sinon, et si le MSDTC est installé, il fait des logs il me semble |
| Kalipok | Il n'y aurait pas moyen de récupérer un log de l'exécution de tes vbs ? Genre récupérer les codes retour de la connexion à la base SQL... Cela permettrait au moins de savoir si tu te fais jeter lorsque tu essayes de te connecter à la base (genre un service ADODB qui nest pas lancé, comme tu le disais), ou si tu te connectes bien mais que les requêtes ne sexécutent pas (problème de droits liés à l'utilisateur) L'admin windows n'est pas non plus mon domaine... Bon courage :sweat: |
| Toxin | Post de soutien, moi je suis largué :o |
| Prems | Pas de doc fournie avec la BDD ? |
| Leg9 |
|
| Prems | Si tu vois que dans ce gestionnaire des tâches, le service qui va bien est lancé par toi-même, tu as la réponse. |
| Leg9 |
|
| Prems |
|
| Xamoth | le firewall. :o
|
| Leg9 | J'imagine, mais les scripts contenant la string de connexion restent les mêmes lancés par AT avec moi loggé ou sans moi... c'est là que je ne pige pas...
A moins qu'un service nécessaire genre ADODB ne soit pas lancé sans utilisateur loggé... j'y pige rien! :cry: |
| Prems | D'après ce que tu dis c'est plutôt un pb de droits d'accès à la base, non ? |
| Leg9 | Si tu veux étant donné que ce souci est remonté au moment de la recette, il faudrait idéalement que j'arrive lundi avec une solution sûre, et pas un "on sait jamais" :D
En gros le projet en est déjà à 3 fois le temps vendu par un commercial passablement indélicat, il faut que je sauve les meubles, et là ce genre d'annerie me met vraiment des batons dans les roues. :D |
| Prems | On ne sait jamais. |
| Leg9 |
|
| Prems | C'est dans les options d'IE qu'on trouve des restrictions d'éxécutions de scripts. |
| Leg9 | Autre chose apparement At est indépendant du "planificateur de tâches" graphique de WinNT, puisque les commandes planifiées dans At n'y apparaissent pas... Clarification à ce sujet anyone? :) |
| Leg9 |
|
| Prems | Message de pure solidarité. ;)
Vérifie les droits d'éxécutions des scripts d'IE, ou si tu as un antivirus qui traîne... |
| Leg9 | Salut,
J'ai un _gros_ souci au boulot, j'ai un projet à "rattraper", je prend donc totalement le train en marche et suis plus ou moins obligé de me conformer à ce qui était en train d'être développé. La problématique : que le planificateur de taches AT tournant sur un serveur NT lance régulièrement des .cmd de récupération de fichier de données, puis lance derrière des .vbs d'insertion dans une base tournant sous SQL server. J'ai réussi à faire tout ça, mais... Actuellement : AT est rempli correctement avec les taches adéquates, les commandes et les scripts se lancent correctement. Si je suis loggé, pas de soucis : les .cmd lançant un wget récupèrent bien les fichiers, les .vbs insérent bien dans la base et effacent ensuite les fichiers. Zéro souci. En revanche, si on laisse tourner le planificateur sans que personne ne soit loggé (ce qui sera évidemment le cas en exploitation), les commandes et les scripts sont bien exécutés, les .cmd récupèrent bien les fichiers, mais les .vbs n'insèrent pas dans la base. Par contre ils sont bien lancés puisqu'ils effacent les fichiers. Argh... Je soupçonne un souci de droit, ou de path, ou autre truc du genre, et donc d'administration Windows plus que de programmation VB. Ceci étant je peux totalement me gourrer, j'avoue que ça dépase mon domaine de compétences. Etant vraiment dans le flou total (en plus d'une merde noire [:chacal_one333]), toute aide constructive serait grandement appréciée. :D |


