Passer une query mssql en argument d'un fichier.py ?
Bonjour;
J'aimerais savoir comment passer en parametre d'un fichier python une requete ?
J'ai un script SH (l'appelant du python) tel que :
Code:
1 2 3 4 5 6 7 8 9 10
|
#!/bin/sh
...
[blablabla]
...
while read prod
do
query_mssql="select distinct CustomerId, ProductId, Field2 from TableProduct where ProductId = '"${prod}"' and Field2 != 'S:0';";
python extract_site_distant.py ${query_mssql} > ${FIC_EXTRACT_MSSQL}
done |
Mon fichier extract_site_distant.py :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
#!/usr/bin/python
# -*- coding: iso-8859-15 -*-
import sys
import os
import _mssql
import unicodedata
import pymssql
import time
try:
app = os.getenv("APPLICATION")
cnx = _mssql.connect(server='server', user='user', password='userpasswd', database='bdd')
print sys.argv
cnx.execute_query('argv[1]')
for row in cnx:
print "Enregistrement=%s" % (row)
except _mssql.MssqlDatabaseException,e:
if e.number == 2714 and e.severity == 16:
print "Erreur: MssqlDatabaseException"
else:
raise
finally:
cnx.close |
A l execution du script SH, cela me renvoi l'erreur :
Code:
1 2 3 4 5 6 7 8
| Produit :*COR*.
Traceback (most recent call last):
File "extract_site_distant.py", line 14, in <module>
cnx.execute_query('argv[1]')
_mssql.MssqlDatabaseException: SQL Server message 2812, severity 16, state 62, line 1:
Could not find stored procedure 'argv'.
DB-Lib error message 2812, severity 16:
General SQL Server error: Check messages from the SQL Server |
Merci pour votre savoir ! :roll: