My question resides around whether or not it is possible within Designer to automatically set the NLS values at execution of a query.
I need to set the following values every time a query is run over a specific database:
dbms_application_info.set_client_info(906);
execute immediate 'alter session set nls_language="AMERICAN"';
Is it even possible to do this and if so how.
The one thing I don’t want to do (and I don’t even know if this would work) is to create a dimension in the universe with this information and then make that dimension the first in my report. Reason I don’t want to do this is that the particular universe that is being built will be used by many people.
Im not sure why you are trying to execute this code in every query? What does this do? Arent these parameters set at the database level, and utilized by every query fired against it. I dont think you need to execute this code. All you need via your BO report is to create the query. Im not even sure how you will get this code to execute via a dimension. because what you put in dimensions are transformed into the select part of a query.
Roshknee, The reason that this codes needs to be added is due to data ristrictions applied to the user id that uses the data. I don’t fully understand it myself, but it has something to do with the way that Oracle Financials works and it ultimately stops unauthorised people from creating db accounts and accessing data they are not permitted to see. Apparently with BO and Oracle Financials, the values are different and if you don’t sync them, your query simply returns no data.
Not a great explanation, but then I’m no DBA and don’t know a lot about Oracle Financials.
Well I tried that and when I test the universe connection, I get the error ‘Invalid SQL statement’.
I have tried putting in both lines of code, but also tried them individually and got the same result. Might just be doing it wrong, but do you have any other ideas?
Hi.
You can create a store procedure with: dbms_application_info.set_client_info(906)
and try to exec from ConnectInit.
I think that works fine.
Good luck