[PHP] mssql_query et [ASP]lancer un .bat

lancer un .bat [PHP] mssql_query et [ASP] - PHP - Programmation

Marsh Posté le 27-10-2004 à 16:27:11    

Bonjour,
J'ai deux question
1/j'ai ecrit ce code pour lancer ma procedure stocké:

<?php
$link2 = mssql_connect ("localhost", "sa", "password" );  
mssql_select_db("mabase", $link);  
set_time_limit(0);
$SQL2 = "Execute ProcedureStocke";
$rs2 = mssql_query($SQL2, $link2);  
mssql_close ($link2);
?>

j'obtient l'erreur:

Warning: mssql_query(): Query failed in c:\inetpub\wwwroot\moncode.php on line 6


Pourtant quand je lance la procedure stocké depuis l'analyseur de requete je n'ai pas d'erreur. de plus si je la lance par une page asp

Application("Connect" ) = "Provider=SQLOLEDB; Data Source=(local); Initial Catalog=mabase; User ID=sa; Password=password"  
Set MaConnection2 = Server.CreateObject("ADODB.Connection" )  
Server.ScriptTimeout = 1800
MaConnection2.ConnectionTimeout = 0
MaConnection2.Open Application("Connect" ),"",""  
MaConnection2.CommandTimeout = 0
MaConnection2.ProcedureStocke
MaConnection2.Close()  
Set Connection=Nothing

ca marche.
l'erreur en php provient elle du code? ou n'ai je pas installer les extension necessaire?
je precise que j'ai deja fait des tests en php par exemple avec le code :

$exe = "C:\Inetpub\wwwroot\monbat.bat";
exec($exe);

mon .bat se lance sans probleme.
est j'ai bien mis l'extension mssql.dll dans C:\WINNT ainsi que dans php.ini
je ne vois pas d'ou provient l'erreur , pouvez vous m'aider
Merci par avance
**************************************************************
2/Bonjour,
voila j'ai ecrit le code suivant pour lancer mon .bat et bien qu'il n'y est pas d'erreur (sur la page) le .bat ne s'execute pas

set shell=server.createobject("WScript.shell" )
mess=shell.Run("C:\Inetpub\wwwroot\monbat.bat", 1, 1)
If mess = 0 Then Response.Write ("worked " )
else Response.Write ("didn't work " )
End If

de plus worked s'affiche.
mon .bat marche quand je le lance en double cliquant et si je rentre le code du .bat à la console sa marche aussi.
donc je pense qu'il s'agit d'une erreur avec l'Asp
De plus j'utilise presque le même code pour lancer un .jar et j'ai exactement le même probleme.
quelqu'un pourrait il corriger mon code?
Je ne veut pas multiplier les pages c'est pourquoi je souhaite lancer ma procedure stocké par une page php ou lancer monbat en asp...
Merci de votre aide

Reply

Marsh Posté le 27-10-2004 à 16:27:11   

Reply

Marsh Posté le 27-10-2004 à 16:35:31    

Run("C:\Inetpub\wwwroot\
 
ca serait pas www\root? [:cupra]
 
pas tapé, j'ai pas lu, mais ca m'a sauté aux yeux :D

Reply

Marsh Posté le 27-10-2004 à 16:39:08    

Code :
  1. mess=shell.Run("C:\\Inetpub\\wwwroot\\monbat.bat", 1, 1)


 
??


---------------
Nos estans firs di nosse pitite patreye...
Reply

Marsh Posté le 27-10-2004 à 16:58:43    

à KangOl>j'ai essayer le code que tu as proposer mais ca marche pas non plus ...
à chacal_one333> non c'est bien wwwrooot c'est le nom du dossier.
Merci  

Reply

Marsh Posté le 28-10-2004 à 10:59:38    

Salut,
Pour la question en php j'ai un peu modifier le code mais sa marche toujours pas:

Code :
  1. <?php
  2. $link = mssql_connect ("localhost", "sa", "password" );   
  3. mssql_select_db("mabase", $link);   
  4. set_time_limit(0);
  5. $stmt=mssql_init("ProcedureStocke",$link); 
  6. $rs = mssql_execute($stmt); 
  7. mssql_close ($link);
  8. ?>

et j'obtient l'erreur:  

Code :
  1. Warning: mssql_execute(): stored procedure execution failed in c:\inetpub\wwwroot\moncode.php on line 6


quelqu'un sait pourquoi l'execution echoue?  
Merci de votre aide

Reply

Marsh Posté le 28-10-2004 à 14:52:32    

salut  
j'ai encore modifier mon code pour avoir plus de details sur l'erreur:  

<?php
$link2 = mssql_connect ("localhost", "sa", "password" );    
mssql_select_db("mabase", $link2);    
set_time_limit(0);
$stmt=mssql_init("ProcedureStocke",$link2);  
$rs2 = mssql_execute($stmt);
if (!$rs2)
{
$message = "<i>Une erreur est survenue : " . mssql_get_last_message() . "</i><br>";
echo $message;
}
mssql_free_statement($stmt);
unset($stmt);
mssql_close ($link2);
?>

et j'ai maintenant l'erreur suivant :

Warning: mssql_execute(): stored procedure execution failed in c:\inetpub\wwwroot\moncode.php on line 7
Une erreur est survenue : L'instruction a été arrêtée.


mais je precise que la procedure stocké se lance, commence mais ne finit pas, elle s'arrete entre deux instruction...  

(...  
INSERT INTO TABLE1
SELECT DISTINCT C1, mot
FROM  T1, T2 WHERE   T1.chaine=T2.mot ...

la procedure s'arrete

INSERT INTO TABLE2
SELECT  UN.C1, DEUX.C1, UN.mot, DEUX.mot, T3.COF
FROM TABLE1 UN ,  TABLE1 DEUX, T3  
WHERE  UN.CUI = T3.CUI1  AND T3.CUI2 = DEUX.CUI AND (T3.champs3 IS NOT NULL...)

pourtant quand je lance le procedure depuis l'analyseur de requette sa marche ...  
note: j'ai une erreur "delai expire" quand je lance la requete depuis Sql server entreprise manager.  
cela peut il venir de la?  
Merci

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed