Page 1 sur 1

[..] Requête SQL dans script AutoIt

Posté : ven. 11 déc. 2009 13:59
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

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

Posté : sam. 12 déc. 2009 11:23
par Tlem
C'est mieux, mais pas encore ça ...
Le message d'erreur affiche aussi du code. :roll:

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

Posté : jeu. 28 janv. 2010 16:40
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

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

Posté : ven. 29 janv. 2010 00:26
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:

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

Posté : ven. 29 janv. 2010 08:03
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 
---------------------------
 

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

Posté : ven. 29 janv. 2010 08:28
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.

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

Posté : ven. 29 janv. 2010 08:29
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.