I am trying to use the BOBJ variable, @VARIABLE(‘BOUSER’), as a join condition to implement row level security. The problem I am having is that our database is Amazon Redshift and the the value in the business objects user has a “” character.
The “” character is a protected character in Redshift and it needs to be escaped with a second slash. For example, a user name of Mexico\johnsmith, needs to come through as Mexico\johnsmith.
How can I intercept the value of the variable, before it gets sent to the database and add in the second slash?
So, I agree, the user name shouldn’t have special characters in it. But apparently, it’s how our international users authenticate. They pass in domain\username. Technically, the username doesn’t have the special character in it, but BO takes the full string and not just the user name after the slash.
I can’t use the database replace function, because the moment the single slash shows up in the DB, it gets interpreted as the “Escape” character and tries to escape the following character. Replace won’t match it because it won’t even see it.
I need some way to replace it prior to the DB seeing it. Does BO have server side variables I can setup?
I’ve worked a lot with Oracle BI and their server engine has a location were you can setup formulas based on internal variables without hitting a DB.
[quote:dd826b8214=“joseph.bertram”]So, I agree, the user name shouldn’t have special characters in it. But apparently, it’s how our international users authenticate. They pass in domain\username. Technically, the username doesn’t have the special character in it, but BO takes the full string and not just the user name after the slash.
[/quote]
Sounds tough .
I suspect you don’t have individual database accounts implemented? Otherwise you may have been able to use @DBUSER.
I’m really at a loss as to how you could get this to work.
Maybe you could do something with the BEGIN_SQL command, that is covered in the Designer guide.