# Weird error on "insert into" script query

**URL:** <https://forum.inductiveautomation.com/t/weird-error-on-insert-into-script-query/97914>\
**Category:** General Discussion\
**Tags:** perspective\
**Created:** [October 29, 2024, 6:08pm UTC](https://forum.inductiveautomation.com/t/weird-error-on-insert-into-script-query/97914 "2024-10-29T18:08:41Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Francesco\_Vittadini](https://avatars.discourse-cdn.com/v4/letter/f/9dc877/32.png) [@Francesco\_Vittadini](https://forum.inductiveautomation.com/u/Francesco_Vittadini)\
**Post date:** [October 29, 2024, 6:08pm UTC](https://forum.inductiveautomation.com/t/weird-error-on-insert-into-script-query/97914/1 "2024-10-29T18:08:41Z")

</div>

Hello guys  
Please help me, this is driving me crazy  
I'm trying to do an "insert into" query in a script  
this is the query simplified

```python
INSERT INTO mes.fr_furanic_register (groupkey) VALUES('a')

```

in postgre is working perfectly fine

when I'm trying in Perspective script tools or in a normal script

```python
query = ''' INSERT INTO mes.fr_furanic_register (groupkey) VALUES('a') '''
system.db.runUpdateQuery(query)

```

I'm getting following error

```python
Java Traceback:
Traceback (most recent call last):
  File "<input>", line 2, in <module>
	at com.inductiveautomation.ignition.common.script.builtin.AbstractDBUtilities.error(AbstractDBUtilities.java:392)

	at com.inductiveautomation.ignition.common.script.builtin.AbstractDBUtilities.runUpdateQuery(AbstractDBUtilities.java:188)

	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.runUpdateQuery( INSERT INTO mes.fr_furanic_register (groupkey) VALUES('a') , , , false)

	at org.python.core.Py.JavaError(Py.java:547)

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

	at com.inductiveautomation.ignition.common.script.builtin.AbstractDBUtilities.runUpdateQuery(AbstractDBUtilities.java:188)

	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:461)

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

	at org.python.pycode._pyx6.f$0(<input>:2)

	at org.python.pycode._pyx6.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:1687)

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

	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.runUpdateQuery( INSERT INTO mes.fr_furanic_register (groupkey) VALUES('a') , , , 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._runUpdateQuery(ClientDBUtilities.java:267)

	at com.inductiveautomation.ignition.common.script.builtin.AbstractDBUtilities.runUpdateQuery(AbstractDBUtilities.java:181)

	... 24 more

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

	at com.inductiveautomation.ignition.common.script.builtin.AbstractDBUtilities.runUpdateQuery(AbstractDBUtilities.java:188)

	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.runUpdateQuery( INSERT INTO mes.fr_furanic_register (groupkey) VALUES('a') , , , false)

```

I've already tried using variables like this

```python
a = 'ciao'
query = ''' INSERT INTO mes.fr_furanic_register (groupkey) VALUES('%s') '''% (a)
system.db.runUpdateQuery(query)

```

same error except for the line nr

I've also tried runPrepUpdate ... nothing changes

Please help me

---

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [October 29, 2024, 6:11pm UTC](https://forum.inductiveautomation.com/t/weird-error-on-insert-into-script-query/97914/2 "2024-10-29T18:11:22Z")

</div>

> [@Francesco\_Vittadini](#):
>
> ```python
> Caused by: GatewayException: Cannot run this function when in read-only mode.
> 
> ```

You need to set your Designer to read/write mode to run insert/update queries.

> **[Perspective Designer Interface | Ignition User Manual](https://www.docs.inductiveautomation.com/docs/8.1/ignition-modules/perspective/perspective-designer-interface#perspective-toolbar)**
>
> The Perspective Designer Interface includes a number of panels and menus containing functionality that allow you to design and build your project. The Perspective Designer Interface has several basic panels that are used for specific objects such as...

---

<div class="post-metadata">

**Author:** ![Francesco\_Vittadini](https://avatars.discourse-cdn.com/v4/letter/f/9dc877/32.png) [@Francesco\_Vittadini](https://forum.inductiveautomation.com/u/Francesco_Vittadini)\
**Post date:** [October 30, 2024, 7:18am UTC](https://forum.inductiveautomation.com/t/weird-error-on-insert-into-script-query/97914/3 "2024-10-30T07:18:35Z")

</div>

thanks a lot  
so dumb ....
