English

Error: Failed to connect to database. Underlying DBMS did not accept username/password

Error Message

When an application requires multiple database connections to different Oracle instances using direct connect, an error is encountered:

"Failed to connect to database. Underlying DBMS did not accept username/password".

Cause

When an ArcGIS application opens a connection to an SDE database, the property set is inspected and compared against other open workspaces (existing database connections). If the property set matches an existing open connection, the current workspace is returned.

The workspace is shared if all of the following property set members match:
1. Server Name
2. Instance Name
3. Database Name
4. User Name

The password is not compared when determining if the workspace should be shared.

Since the password is not compared, this can be a problem when connecting using direct connect for two different Oracle instances.

For example, the two property sets below demonstrate that the same workspace is used even though the password is unique:

Connection 1
Server: Alex
Instance: sde:oracle10g
Database: NULL
User: sde
Password: sde@instance1

Connection 2
Server: Alex
Instance: sde:oracle10g
Database: <NULL>
User: sde
Password: sde@instance2

The above examples are valid properties for direct connect. Both connections are considered identical because the properties are compared to existing open workspaces.

Solution or Workaround

Select one of the two options below:

  • The server name field is not required when establishing a direct connection, so it can be made unique. Recommendations are to use the Oracle instance name or Oracle SID as they will be different for each defined connection.
  • Set the Oracle instance name in the Service property:

    sde:oracle10g:/;LOCAL=instance1

    Connection string examples are available in the context sensitive help in ArcGIS Desktop. To review this information, open a new connection dialog box and click the question mark (?) in the top right-hand corner of the dialog box. Click on the Service dialog box.