[..] Requête SQL dans script AutoIt

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
m33agir
Niveau 1
Niveau 1
Messages : 4
Enregistré le : mar. 08 déc. 2009 11:19
Status : Hors ligne

[..] Requête SQL dans script AutoIt

#1

Message par m33agir »

Bonjour,
Dans un script AutoIt, je dois lancer une requête SQL sur une base informix distante. J'ai une erreur au lancement de la requête. Voici le code écrit :

Code : Tout sélectionner

LECTURE DU FICHIER .INI
$dsn = IniRead($cfg_file, "infocentre", "dsn", "")
$host = IniRead($cfg_file, "infocentre", "host", "")
$server = IniRead($cfg_file, "infocentre", "server", "")
$service = IniRead($cfg_file, "infocentre", "service", "")
$protocol = IniRead($cfg_file, "infocentre", "protocol", "")
$database = IniRead($cfg_file, "infocentre", "database", "")
$uid = IniRead($cfg_file, "infocentre", "uid", "")
$pwd = IniRead($cfg_file, "infocentre", "pwd", "")

$objConn = ObjCreate("ADODB.Connection")

$objConn.Open("Dsn=" & $dsn & ";Host=" & $host & ";Server=" & $server & ";Service=" & $service & ";Protocol=" & $protocol & ";Database=" & $database & ";Uid=" & $uid & ";Pwd=" & $pwd)

$rsCustomers = $objConn.Execute("select distinct s_grp_trv_3.nide,s_grp_trv_3.nprt from s_grp_trv s_grp_trv_3 where (s_grp_trv_3.nide ='" & $entrep_en & "') and ((s_grp_trv_3.nprt LIKE "'GPE%'")or(s_grp_trv_3.nprt LIKE "'RE%'")or(s_grp_trv_3.nprt LIKE "'S%'")"))
La variable $entrep_en a bien été déclarée.

J'ai l'erreur suivante :

Code : Tout sélectionner

---------------------------
AutoIt Error
---------------------------
Line 156 (File "D:\AutoIt\sadf\sadf.au3"):

$rsCustomers = $objConn.Execute("select distinct s_grp_trv_3.nide,s_grp_trv_3.nprt from s_grp_trv s_grp_trv_3 where (s_grp_trv_3.nide ='" & $entrep_en & "') and (s_grp_trv_3.nprt LIKE "'GPE%'")or(s_grp_trv_3.nprt LIKE "'RE%'")or(s_grp_trv_3.nprt LIKE "'S%'")")
$rsCustomers = $objConn.Execute(^ ERROR

Error: Error in expression.
---------------------------
OK 
---------------------------
ES-ce le code de ma requête qui comporte une anomalie ?
J'avoue que je séche. Pouvez-vous l'apporter une aide.
Merci.

Cordialement
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11798
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Requête SQL dans script AutoIt

#2

Message par Tlem »

C'est mieux, mais pas encore ça ...
Le message d'erreur affiche aussi du code. :roll:
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
m33agir
Niveau 1
Niveau 1
Messages : 4
Enregistré le : mar. 08 déc. 2009 11:19
Status : Hors ligne

Re: [..] Requête SQL dans script AutoIt

#3

Message par m33agir »

Bonjour,
Vous indiquez dans votre dernière réponse que j'ai du code derrière le message d'anomalie. Je ne trouve aucun code, à part le message d'erreur que je vous ai envoyé.
Cordialement
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11798
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Requête SQL dans script AutoIt

#4

Message par Tlem »

Oui, c'est bien ce que je dit : Le message d'erreur affiche du code, donc vous devez le mettre dans les balises appropriées (c'est à dire des balises de code). :roll:
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
m33agir
Niveau 1
Niveau 1
Messages : 4
Enregistré le : mar. 08 déc. 2009 11:19
Status : Hors ligne

Re: [..] Requête SQL dans script AutoIt

#5

Message par m33agir »

Voici le code du message d'erreur entre les balises :

Code : Tout sélectionner

---------------------------
AutoIt Error
---------------------------
Line 156 (File "D:\AutoIt\sadf\sadf.au3"):

$rsCustomers = $objConn.Execute("select distinct s_grp_trv_3.nide,s_grp_trv_3.nprt from s_grp_trv s_grp_trv_3 where (s_grp_trv_3.nide ='" & $entrep_en & "') and (s_grp_trv_3.nprt LIKE "'GPE%'")or(s_grp_trv_3.nprt LIKE "'RE%'")or(s_grp_trv_3.nprt LIKE "'S%'")")
$rsCustomers = $objConn.Execute(^ ERROR

Error: Error in expression.
---------------------------
OK 
---------------------------
 
Avatar du membre
timmalos
Niveau 11
Niveau 11
Messages : 1970
Enregistré le : dim. 18 mai 2008 15:16
Status : Hors ligne

Re: [..] Requête SQL dans script AutoIt

#6

Message par timmalos »

J'avais deja essayé d'utiliser cet objet sans succès (mais j n'avais pas la meme synthaxe du tout mais je voulais passer par ODB)

C'est pour une base Oracle c'est ca?

Dans ce cas la seule solution viable que j'avais trouvé, (sans perte de memoire)
était de passer par le logiciel inclu dans oracle mais en ligne de commande. Je rentrai ma requete comme ca mais j'avais egalement du passer par un .bat et non lancer la requete directement a partir d'autoit car sinon le logiciel oracle restait lancé (jamais compris pk)


Si vous n'avez pas de base oracle, regardez votre logiciel utilisé pour voir si il ne peut pas etre utilisé en ligne de commande.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11798
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Requête SQL dans script AutoIt

#7

Message par Tlem »

:shock: :shock: :shock: :shock:
Pffff. C'est dans le premier message qu'il fallait rajouter les balises...
Enfin, bon, je perdrais mon temps à le faire plus tard. :cry:

Pour votre problème, ne pouvant tester en condition réelle, puisque je n'ai pas tout les élément, je peut simplement vous dire que dans un premier temps, la dernière ligne à un problème de syntaxe. Vous avez surement un problème de guillemets mal placés.
Si vous n'y arrivez pas, mettez la ligne de commande telle qu'elle doit être envoyée et on verra comment faire.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Répondre