# SQL Exeption... danach trotzdem weiterarbeiten lassen...

**URL:** <https://forum.shopware.com/t/sql-exeption-danach-trotzdem-weiterarbeiten-lassen/59456>\
**Category:** Programmierung\
**Created:** [9. Mai 2019 um 08:31 UTC](https://forum.shopware.com/t/sql-exeption-danach-trotzdem-weiterarbeiten-lassen/59456 "2019-05-09T08:31:00Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![neofire](https://avatars.discourse-cdn.com/v4/letter/n/94ad74/32.png) [@neofire](https://forum.shopware.com/u/neofire)\
**Post date:** [9. Mai 2019 um 08:31 UTC](https://forum.shopware.com/t/sql-exeption-danach-trotzdem-weiterarbeiten-lassen/59456/1 "2019-05-09T08:31:00Z")

</div>

**Beispiel:**

Bei einem Datenabgleich in einer Liste von 100 Produkten ist an 20. stelle ein Produkt, welches eine&nbsp;SQL Exeption produziert…&nbsp;

Dann kommt es dazu, dass die nächsten Einträge 21 bis 100 zwar versucht wird zu verarbeiten, aber es so ausschaut, als wenn die Danbankverbindung geschlossen wurde… oder was anderes nicht klappt… Was passiert da genau?

&nbsp;

Beispiel was ich meine, was in der Schleife ist:

```
$e = '';
$error = 'no';

try {
                
$articleResource->create($minimalTestArticle);

} catch (Exception $e) {
   echo 'Exception: '. $e->getMessage(). "\n";
   $error = 'yes';
}

```

Wie kann ich den nächsten Eintrag wieder korrekt verabeiten lassen? Was ist zu tun?

Danke vorab für die Hilfe!

---

<div class="post-metadata">

**Author:** ![ahmadsaad](https://avatars.discourse-cdn.com/v4/letter/a/65b543/32.png) [@ahmadsaad](https://forum.shopware.com/u/ahmadsaad)\
**Post date:** [9. Mai 2019 um 09:43 UTC](https://forum.shopware.com/t/sql-exeption-danach-trotzdem-weiterarbeiten-lassen/59456/2 "2019-05-09T09:43:53Z")

</div>

Hallo @neofire‍,

ich habe dies nicht getestet, aber probiere mal das EnitityManager clear funktion wie so:

```
try {
                
   $articleResource->create($minimalTestArticle);

} catch (Exception $e) {
   echo 'Exception: '. $e->getMessage(). "\n";
   $error = 'yes';
   Shopware()->Models()->clear();
}

```

VG,

Tel.: +49 755&nbsp;- 183 990 00 | Email: [info@enbit.de](mailto:info@enbit.de) | Web:&nbsp;[http://enbit.de/](http://enbit.de/)

---

<div class="post-metadata">

**Author:** ![neofire](https://avatars.discourse-cdn.com/v4/letter/n/94ad74/32.png) [@neofire](https://forum.shopware.com/u/neofire)\
**Post date:** [10. Mai 2019 um 12:56 UTC](https://forum.shopware.com/t/sql-exeption-danach-trotzdem-weiterarbeiten-lassen/59456/3 "2019-05-10T12:56:07Z")

</div>

Scheint nicht zu klappen… Hat jemand eine Idee?

---

<div class="post-metadata">

**Author:** ![shyim](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/shyim/32/7681_2.png) [@shyim](https://forum.shopware.com/u/shyim)\
**Post date:** [12. Mai 2019 um 12:37 UTC](https://forum.shopware.com/t/sql-exeption-danach-trotzdem-weiterarbeiten-lassen/59456/4 "2019-05-12T12:37:57Z")

</div>

Sobald ein Fehler passiert, schließt sich der Doctrine EntityManager.

Entweder du benutzst hier -\>batch der Artikel Resource, das verhindert solche Probleme. Ansonsten musst du jedes mal prüfen ob der EntityManager offen ist mit -\>isOpen().

Wenn dieser zu sein sollte, musst du paar Services zurücksetzen.

[https://github.com/shopware/shopware/blob/5.5/engine/Shopware/Components/Api/Resource/Resource.php#L590-L598](https://github.com/shopware/shopware/blob/5.5/engine/Shopware/Components/Api/Resource/Resource.php#L590-L598)

---

<div class="post-metadata">

**Author:** ![neofire](https://avatars.discourse-cdn.com/v4/letter/n/94ad74/32.png) [@neofire](https://forum.shopware.com/u/neofire)\
**Post date:** [13. Mai 2019 um 18:22 UTC](https://forum.shopware.com/t/sql-exeption-danach-trotzdem-weiterarbeiten-lassen/59456/5 "2019-05-13T18:22:18Z")

</div>

![](https://www.bilder-upload.eu/upload/de527f-1557771700.png)Schaut euch mal das Bild an… Es hilft nicht weiter… isOpen ist auch immer true

Der letzte 1081 Eintrag sollte wieder klappen… die davor, die rot sind… die habe ich extra so angepasst, dass es zum Fehler kommt.
