type=page
status=published
title=delete-resource-adapter-config
next=delete-resource-ref.html
prev=delete-protocol-finder.html
~~~~~~

= delete-resource-adapter-config

[[delete-resource-adapter-config-1]][[GSRFM00106]][[delete-resource-adapter-config]]

== delete-resource-adapter-config

Deletes the resource adapter configuration

[[sthref959]]

=== Synopsis

[source]
----
asadmin [asadmin-options] delete-resource-adapter-config [--help]
raname
----

[[sthref960]]

=== Description

The `delete-resource-adapter-config` subcommand deletes the
configuration information for the connector module.

This command is supported in remote mode only.

[[sthref961]]

=== Options

asadmin-options::
  Options for the `asadmin` utility. For information about these
  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
`--help`::
`-?`::
  Displays the help text for the subcommand.
`--target`::
  This option is deprecated.

[[sthref962]]

=== Operands

raname::
  Specifies the connector module name.

[[sthref963]]

=== Examples

[[GSRFM576]][[sthref964]]

==== Example 1   Deleting a Resource Adapter Configuration

This example deletes the configuration information for `ra1`.

[source]
----
asadmin> delete-resource-adapter-config ra1
Command delete-resource-adapter-config executed successfully
----

[[sthref965]]

=== Exit Status

0::
  subcommand executed successfully
1::
  error in executing the subcommand

[[sthref966]]

=== See Also

link:asadmin.html#asadmin-1m[`asadmin`(1M)]

link:create-resource-adapter-config.html#create-resource-adapter-config-1[`create-resource-adapter-config`(1)],
link:list-resource-adapter-configs.html#list-resource-adapter-configs-1[`list-resource-adapter-configs`(1)]


