> ## Documentation Index
> Fetch the complete documentation index at: https://docs.flexagon.com/llms.txt
> Use this file to discover all available pages before exploring further.

# runQuery

> Executes a scalar SQL query which returns one row and one column. This operation takes the SQL query as input, processes the statement in the database

Executes a scalar SQL query which returns one row and one column. This operation takes the SQL query as input, processes the statement in the database using JDBC, and returns the value as an output.

# Target Properties

<table><colgroup><col /><col /><col /><col /></colgroup><tbody><tr><th>**Property Name**</th><th>**Property Code**</th><th>**Required**</th><th>**Description**</th></tr><tr><td>JDBC URL</td><td>`FDJDBC_URL`</td><td>Yes</td><td>The JDBC URL of the database.\
Connecting to Oracle Autonomous DatabaseYou will need client credential zip file (wallet) to connect with Oracle Autonomous Database on Oracle cloud. You can download wallet zip file from Oracle Cloud, you will need admin userid and password to perform this download. See [Download Client Credentials (Wallets)](https://docs.oracle.com/en-us/iaas/autonomous-database/doc/download-client-credentials.html) for more details on how to download wallet file.<ul><li>**Since FlexDeploy 9.0.0.9 with Oracle Wallet Credential Type :** Instead of maintaining the wallet zip file under the file system, you can now store the wallet zip as an Oracle Credential Type in FlexDeploy. This allows for secure storage and use of the wallet.<ul><li>Use the URL syntax in the following format: `jdbc:oracle:thin:@service_low?TNS_ADMIN={{FDORACLE_WALLET_FILE}}` is replaced with the temporary wallet folder path during execution. Once execution is completed, the temporary file is cleaned up automatically.</li></ul></li><li>**Before FlexDeploy 9.0.0.9**<ul><li>You must make sure that only authorized users have access to these wallet files. Unzip the client credentials zip file (**wallet\_*****databasename*****.zip**) on FlexDeploy server and/or endpoint where it will be used. For example, /home/flexdeploy/.wallets/\<**wallet\_*****databasename***> is folder where specific wallet file was unzipped. Make sure to secure this folder to FlexDeploy and/or Endpoint user, so that it is not readable by all users.</li><li>We recommend using Oracle Wallet Credential Type for better security and easier management of Wallet usage.</li><li>**Database URL Syntax **: jdbc:oracle:thin:@service\_high?TNS\_ADMIN=/home/flexdeploy/.wallets/\<**wallet\_*****databasename***><ul><li>service\_high is one of the entries in the tnsnames.ora file where client credentials zip file was unzipped. See [Predefined Database Service Names for Autonomous Database](https://docs.oracle.com/en/cloud/paas/autonomous-database/serverless/adbsb/connect-predefined-generic.html) for details on services.</li><li>TNS\_ADMIN value in URL points to the location of the **unzipped client credentials zip file**.</li></ul></li><li>**Database URL Long Connection String Format Syntax **: `jdbc:oracle:thin:@(description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=<hostname>))(connect_data=(service_name=<serice_name>))(security=(ssl_server_cert_dn="CN=<hostname>,OU=Oracle BMCS US,O=Oracle Corporation,L=Redwood City,ST=California,C=US")))`<ul><li>Examples for the same can be found [here](https://www.oracle.com/database/technologies/java-connectivity-to-atp.html).</li></ul></li></ul></li></ul>If using the Oracle Database Plugin with ADW or ATP databases , use the \_low connection. The \_medium and \_high connections can sometimes throw error** ORA-12839: cannot modify an object in parallel after modifying it.**</td></tr><tr><td>Oracle Wallet File</td><td>`FDORACLE_WALLET_FILE`</td><td>No</td><td>**Since 9.0.0.9** - Provide the Oracle Wallet file, see[Credential Type - Oracle Wallet](https://docs.flexagon.com/flexdeploy-11-1-documentation/flexdeploy-users-guide/administration/credentials/credential-types/credential-type-oracle-wallet.md) for more details.</td></tr><tr><td>JDBC User</td><td>`FDJDBC_USER`</td><td>No</td><td>The username that will be used to connect with.</td></tr><tr><td>JDBC Password</td><td>`FDJDBC_PASSWORD`</td><td>No</td><td>The password of the username.</td></tr><tr><td>JDBC Driver Path</td><td>`FDJDBC_DRIVER_PATH`</td><td>Yes</td><td>Classpath for locating the JDBC Driver (e.g. for Weblogic - `{ORACLE_HOME}/oracle_common/modules/oracle.jdbc_11.2.0/ojdbc6.jar`).</td></tr></tbody></table>

# Inputs

<table><colgroup><col /><col /><col /><col /></colgroup><tbody><tr><th>**Input Name**</th><th>**Input Code**</th><th>**Required**</th><th>**Description**</th></tr><tr><td>User</td><td>`FDJDBC_INP_USER`</td><td>No</td><td>The username that will be used to connect with. This input takes precedence over the Target scoped `FDJDBC_USER`** **property. This input is required if the `FDJDBC_USER`** **property is not specified.</td></tr><tr><td>Password</td><td>`FDJDBC_INP_PASSWORD`</td><td>No</td><td>The password for `FDJDBC_INP_USER`. This input takes precedence over the Target scoped `FDJDBC_PASSWORD`** **property. This input is required if the `FDJDBC_PASSWORD`** **property is not specified.</td></tr><tr><td>SQL Query</td><td>`FDJDBC_INP_SQL_QUERY`</td><td>Yes</td><td>The query to execute.</td></tr><tr><td>Show DBMS Output</td><td>`FDJDBC_INP_SHOW_DBMS_OUT`</td><td>No</td><td>Print DBMS Output in the log.  Only supported for Oracle Database. </td></tr></tbody></table>

# Outputs

<table><colgroup><col /><col /></colgroup><tbody><tr><th>**Output Name**</th><th>**Description**</th></tr><tr><td>`FDJDBC_SQL_QUERY_OUT`</td><td>The returned value from the query.</td></tr></tbody></table>

# Artifacts

This operation does not produce or consume artifacts.

# Endpoint Selection

This operation will select all available endpoints associated to the Target.

# Endpoint Execution

This operation will randomly execute on one of the endpoints identified during selection.

# Special Considerations

The input query for this operation must return exactly one row and one column.

# Replacement Properties

See [Appendix](https://docs.flexagon.com/flexdeploy-11-1-documentation/flexdeploy-plugin-guides/flexdeploy-jdbc-plugin-guide/appendix-jdbc.md).
