# Problem with calling code in Ignition Designer Script Console

**URL:** <https://forum.inductiveautomation.com/t/problem-with-calling-code-in-ignition-designer-script-console/103150>\
**Category:** Ignition\
**Tags:** ignition81\
**Created:** [March 3, 2025, 2:44pm UTC](https://forum.inductiveautomation.com/t/problem-with-calling-code-in-ignition-designer-script-console/103150 "2025-03-03T14:44:13Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![kruta](https://avatars.discourse-cdn.com/v4/letter/k/5f8ce5/32.png) [@kruta](https://forum.inductiveautomation.com/u/kruta)\
**Post date:** [March 3, 2025, 2:44pm UTC](https://forum.inductiveautomation.com/t/problem-with-calling-code-in-ignition-designer-script-console/103150/1 "2025-03-03T14:44:13Z")

</div>

Hey everyone. I'm having some problem with calling a script in Ignition Designer in the Script Console tab. I am trying unsuccessfully to call the script which generates me the errors shown in the screenshot. The code I am trying to call is a very basic piece of code. When I try to query the database using SELECT all works as expected.

db = 'db\_test'  
query = '''INSERT INTO run(GoodCount) VALUES (?)'''  
system.db.runPrepUpdate(query, [7], [db])

Do any of you have any ideas or suggestions for solving this problem?

 ![error](https://us1.discourse-cdn.com/inductiveautomation/original/3X/8/7/874c594e592e8e92ae00bc7158e73120232f4cb2.png)

---

<div class="post-metadata">

**Author:** ![rbabcock](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/rbabcock/32/13425_2.png) [@rbabcock](https://forum.inductiveautomation.com/u/rbabcock)\
**Post date:** [March 3, 2025, 2:50pm UTC](https://forum.inductiveautomation.com/t/problem-with-calling-code-in-ignition-designer-script-console/103150/2 "2025-03-03T14:50:29Z")

</div>

The error is telling you you can't run that function when the designer is in read-only mode.

 ![{1365A141-44AD-48C2-AE89-366985B19B41}](https://us1.discourse-cdn.com/inductiveautomation/original/3X/7/2/722c4e748ef09ef2650190081509392148c33295.png)

---

<div class="post-metadata">

**Author:** ![rbabcock](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/rbabcock/32/13425_2.png) [@rbabcock](https://forum.inductiveautomation.com/u/rbabcock)\
**Post date:** [March 3, 2025, 2:52pm UTC](https://forum.inductiveautomation.com/t/problem-with-calling-code-in-ignition-designer-script-console/103150/3 "2025-03-03T14:52:08Z")

</div>

You're probably also going to run into issues supplying the database parameter as a list. It expects a string.

> **[system.db.runPrepUpdate | Ignition User Manual](https://www.docs.inductiveautomation.com/docs/8.1/appendix/scripting-functions/system-db/system-db-runPrepUpdate#parameters)**
>
> Runs a prepared statement against the database, returning the number of rows that were affected.

---

<div class="post-metadata">

**Author:** ![Transistor](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/transistor/32/3380_2.png) [@Transistor](https://forum.inductiveautomation.com/u/Transistor)\
**Post date:** [March 3, 2025, 3:59pm UTC](https://forum.inductiveautomation.com/t/problem-with-calling-code-in-ignition-designer-script-console/103150/4 "2025-03-03T15:59:29Z")

</div>

Welcome to the forum, kruta. Please see [Wiki - how to post code on this forum](https://forum.inductiveautomation.com/t/wiki-how-to-post-code-on-this-forum/77831). It won't make much difference to the short script you posted above but it will preserve leading whitespace / indentation which is essential for Python / Jython scripts. You can also post the error messages as preformatted text rather than an image. The text is searchable. The image is not without some OCR work.

---

<div class="post-metadata">

**Author:** ![kruta](https://avatars.discourse-cdn.com/v4/letter/k/5f8ce5/32.png) [@kruta](https://forum.inductiveautomation.com/u/kruta)\
**Post date:** [March 4, 2025, 10:17am UTC](https://forum.inductiveautomation.com/t/problem-with-calling-code-in-ignition-designer-script-console/103150/5 "2025-03-04T10:17:05Z")

</div>

Java Traceback:  
Traceback (most recent call last):  
File input, line 3, in module  
at com.inductiveautomation.ignition.common.script.builtin.AbstractDBUtilities.error(AbstractDBUtilities.java:392)

```
at com.inductiveautomation.ignition.common.script.builtin.AbstractDBUtilities.runPrepUpdate(AbstractDBUtilities.java:268)

at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.base/java.lang.reflect.Method.invoke(Unknown Source)

```

java.lang.Exception: java.lang.Exception: Error executing system.db.runPrepUpdate(INSERT INTO run(GoodCount) VALUES (?), [7], ['db\_test'], , false, false)

```
at org.python.core.Py.JavaError(Py.java:545)

at com.inductiveautomation.ignition.common.script.builtin.AbstractDBUtilities.error(AbstractDBUtilities.java:392)

at com.inductiveautomation.ignition.common.script.builtin.AbstractDBUtilities.runPrepUpdate(AbstractDBUtilities.java:268)

at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.base/java.lang.reflect.Method.invoke(Unknown Source)

at org.python.core.PyReflectedFunction. __call__ (PyReflectedFunction.java:190)

at com.inductiveautomation.ignition.common.script.ScriptManager$ReflectedInstanceFunction. __call__ (ScriptManager.java:553)

at org.python.core.PyObject. __call__ (PyObject.java:494)

at org.python.core.PyObject. __call__ (PyObject.java:498)

at org.python.pycode._pyx8.f$0(<input>:3)

at org.python.pycode._pyx8.call_function(<input>)

at org.python.core.PyTableCode.call(PyTableCode.java:173)

at org.python.core.PyCode.call(PyCode.java:18)

at org.python.core.Py.runCode(Py.java:1703)

at org.python.core.Py.exec(Py.java:1747)

at org.python.util.PythonInterpreter.exec(PythonInterpreter.java:277)

at org.python.util.InteractiveInterpreter.runcode(InteractiveInterpreter.java:130)

at com.inductiveautomation.ignition.designer.gui.tools.jythonconsole.JythonConsole$ConsoleWorker.doInBackground(JythonConsole.java:628)

at com.inductiveautomation.ignition.designer.gui.tools.jythonconsole.JythonConsole$ConsoleWorker.doInBackground(JythonConsole.java:616)

at java.desktop/javax.swing.SwingWorker$1.call(Unknown Source)

at java.base/java.util.concurrent.FutureTask.run(Unknown Source)

at java.desktop/javax.swing.SwingWorker.run(Unknown Source)

at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.base/java.lang.Thread.run(Unknown Source)

```

Caused by: java.lang.Exception: Error executing system.db.runPrepUpdate(INSERT INTO run(GoodCount) VALUES (?), [7], ['db\_test'], , false, false)

```
... 26 more

```

Caused by: com.inductiveautomation.ignition.client.gateway\_interface.GatewayException: Cannot run this function when in read-only mode.

```
at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.getResponse(GatewayInterface.java:393)

at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.sendMessage(GatewayInterface.java:292)

at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.sendMessage(GatewayInterface.java:287)

at com.inductiveautomation.ignition.client.script.ClientDBUtilities._runPrepStmt(ClientDBUtilities.java:293)

at com.inductiveautomation.ignition.common.script.builtin.AbstractDBUtilities.runPrepUpdate(AbstractDBUtilities.java:261)

... 24 more

```

Traceback (most recent call last):  
File input, line 3, in module  
at com.inductiveautomation.ignition.common.script.builtin.AbstractDBUtilities.error(AbstractDBUtilities.java:392)

```
at com.inductiveautomation.ignition.common.script.builtin.AbstractDBUtilities.runPrepUpdate(AbstractDBUtilities.java:268)

at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.base/java.lang.reflect.Method.invoke(Unknown Source)

```

java.lang.Exception: java.lang.Exception: Error executing system.db.runPrepUpdate(INSERT INTO run(GoodCount) VALUES (?), [7], ['db\_test'], , false, false)

---

<div class="post-metadata">

**Author:** ![nminchin](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/nminchin/32/6911_2.png) [@nminchin](https://forum.inductiveautomation.com/u/nminchin)\
**Post date:** [March 4, 2025, 11:41am UTC](https://forum.inductiveautomation.com/t/problem-with-calling-code-in-ignition-designer-script-console/103150/6 "2025-03-04T11:41:26Z")

</div>

I actually find it easier to read the error trace as a screenshot... Especially on mobile

 ![Screenshot_20250304_221011_Chrome](https://us1.discourse-cdn.com/inductiveautomation/original/3X/8/c/8c9b56605160572a9d8947241e8b13bf77ea1c14.jpeg)  
,
