Bonjour,

Par nécessité, je dois réécrire un vieux code VBA qui fonctionne très bien en Python.
Il s'agit de récupérer des données SAP R3 et des les charger dans une DB.
Les données sont récupérés par paquet de 200k lignes.
On boucle ensuite sur ces lignes pour les insérer avec un "Insert into tbl select Va1 union all Select Val2 ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
for iSAP in range(1,iLng_Lignes + 1):
	iStrTemp = str(pSAP_Data(iSAP, "WA")).replace("'", "''")
	iStrSQLValues = iStr_SQLValues + " select '" + iStr_Temp + "' union all "
	iInt_NbLignesRAW = iInt_NbLignesRAW + 1
	iInt_NbLignesTemp = iInt_NbLignesTemp + 1
	if iInt_NbLignesRAW == 1000:
		#=> insert
		iInt_NbLignesRAW = 0
		iStrSQLValues  =""
pSAP_Data est l'objet renvoyé par SAP.
Tout cela est fait dans une fonction à laquelle est passée pSAP_Data
Le problème est que lors du "iStrSQLValues = iStr_SQLValues + " select '" + iStr_Temp + "' union all "", la mémoire occupée augmente et n'est jamais libérée et donc forcément, ça finit par planter.
Quelqu'un aurait-il une idée pour résoudre le pb ?
Merci.