Solved

How can i connect to oracle if my password contains @ symbol in it


Badge +3

Hi Team,

fme 2016

Both reading and writing to oracle spatial.

My customer has @ symbol in his oracle password string.

in my fmw file, oracle connection string is published parameter, and user has to pass the easy connect string to this parameter like

user1/x3#@rtye@mydb

now there are two @ symbols and fme treats rtye@mydb as dbname and fails to connect.

but thru oracle's sqlplus i can connect. not from fme.

and if i give these three parameter separately to sql executor it works good.

 

how can i connect with just one text string with @ symbol in password? please help.

there are lot of fmws developed and i exposed connection string as published parameter

 

icon

Best answer by fmelizard 7 September 2017, 17:56

View original

14 replies

Userlevel 4

I suspect that's not the fault of FME, but of the Oracle client libraries. Sqlplus is a different beast and I suspect it's a bit more intelligent about the @ symbol than the client libraries.

You may want to try quoting the password, e.g.

user1/\"x3#@rtye\"@mydb

See also: http://nadvi.blogspot.ch/2011/02/oracle-password-with-or-special.html

Userlevel 5
Badge +25

I did a bit of googling at it appears you can enclose the password between quotes (") if it contains a special character, like the @

There's also lots of articles specifically saying not to use @ in your Oracle password...

Userlevel 4

I did a bit of googling at it appears you can enclose the password between quotes (") if it contains a special character, like the @

There's also lots of articles specifically saying not to use @ in your Oracle password...

Agree, I'm not sure I'd recommend using "special" characters in Oracle passwords e.g. backslash and whatnot. More info: http://www.oradba.ch/2014/06/oracle-passwords-and-special-characters/

 

Badge +3

I suspect that's not the fault of FME, but of the Oracle client libraries. Sqlplus is a different beast and I suspect it's a bit more intelligent about the @ symbol than the client libraries.

You may want to try quoting the password, e.g.

user1/\"x3#@rtye\"@mydb

See also: http://nadvi.blogspot.ch/2011/02/oracle-password-with-or-special.html

@David, this does not work

 

 

Badge +3

I did a bit of googling at it appears you can enclose the password between quotes (") if it contains a special character, like the @

There's also lots of articles specifically saying not to use @ in your Oracle password...

@ redgeographics yes I know, but this is created by one of our customer. i cant ask them to change. Moreover oracle accepts @ symbol in password.
Userlevel 4
@David, this does not work

 

 

Did you also try without the backslashes, as described in the blog?

 

user1/"x3#@rtye"@mydb
Userlevel 5
Badge +25
@ redgeographics yes I know, but this is created by one of our customer. i cant ask them to change. Moreover oracle accepts @ symbol in password.
Actually, you can ask them to change...

 

Badge +11

I tested creating a new database connection to Oracle 12c for a new user with a password of give@eight and it works if you (as @redgeographics indicates) wrap the password in quotes "give@eight".

 

NOTE I had to do the same in Oracle to set the password. Ex. I altered the users password with: alter user bobby identified by "give@eight"; If I didn't use the quotes, Oracle complained.
Userlevel 4
Badge +13

Hi @fkemminje. I've asked our development team to investigate if there is a way to pass an easy connect string as a published parameter into FME successfully if the password contains "@". I'll provide more information here once I can.

Badge +3

I tested creating a new database connection to Oracle 12c for a new user with a password of give@eight and it works if you (as @redgeographics indicates) wrap the password in quotes "give@eight".

 

NOTE I had to do the same in Oracle to set the password. Ex. I altered the users password with: alter user bobby identified by "give@eight"; If I didn't use the quotes, Oracle complained.
Hi @SteveAtSafe You said it works.

 

Did you try it in FME ? or oracle (sqlplus or Toad)

 

even it is working working for me in sqlplus and Toad, But not in fme(oracle reader, sqlexecutor or joiner) even if I wrap the password in quotes

 

Badge +3

Hi @fkemminje. I've asked our development team to investigate if there is a way to pass an easy connect string as a published parameter into FME successfully if the password contains "@". I'll provide more information here once I can.

waiting for safe Answer.

 

Here My complaint is

 

if it is working in sqlplus or Toad for oracle then why dont in FME ?

 

FME passes the same string to Oracle right?

 

it has to work. or

 

 

Did fme splits the connection string at @ symbol before passing to Oracle?

 

 

Userlevel 4
Did you also try without the backslashes, as described in the blog?

 

user1/"x3#@rtye"@mydb
Did you try the above? Can you please post the relevant part of your log?
Badge +3

Hi @fkemminje. I've asked our development team to investigate if there is a way to pass an easy connect string as a published parameter into FME successfully if the password contains "@". I'll provide more information here once I can.

Hello mam, reminding...

 

 

Userlevel 4
Badge +13

Hi @fkemminje, I'm pleased to let you know that the issue regarding connecting to Oracle with a string using a password containing an @ symbol has been fixed in our latest beta: FME 2018.0 Build 18162 which is now available for download.

Reply