sijms / go-ora

Pure go oracle client
MIT License
796 stars 177 forks source link

Add support for Oracle proxy users #483

Closed marzlarz closed 9 months ago

marzlarz commented 10 months ago

We use proxy users to connect to Oracle, but apparently those are not supported via this module.

When trying to connect via a proxy user ( proxyuser[realuser] ) we get the following error:

oracle://******%5B***%5D:*************@*************.net:1521/foobar 2023/12/12 11:41:44 ORA-01017: invalid username/password; logon denied

When connecting as the realuser, it connects with no issues.

Looking forward to using this module in the future...

Thanks!

sijms commented 9 months ago

would you review this

danboykis commented 9 months ago

would you review this

I don't see anything on that link. Is there a branch/commit I can look at?

sijms commented 9 months ago

use the following in database url

oracle://proxy_user:proxy_password@host:port/service?proxy client name=schema_owner
marzlarz commented 9 months ago

@sijms I am referring to Oracle Proxy Users, not trying to connect to Oracle via a proxy server.

The following link describes the proxy user fairly well: Proxy User and Connect Through

The syntax of the connection string for Oracle Proxy Users is:

conn proxyuser_1[realuser_1]/password@//hostname:port/service_name

As mentioned, when using this module currently, we get the above error.

Sorry if my original message wasnt clear , Hopefully this help

sijms commented 9 months ago

yes I talk about proxy user but the connection string is as follow

urlOptions := map[string]string {
    "proxy client name" : "realuser_1",
}
databaseUrl := go_ora.BuildUrl(server, port, service, proxy_user_1, proxy_password, urlOptions)
conn, err := sql.Open("oracle", databaseUrl)
.
.
.
marzlarz commented 9 months ago

This works, thanks @sijms