Direct Database Requests in Answers - PROBLEM

Hello!
I want to use
Direct Database Requests in Answers.
I connect as Administrator.
I fill in Connection Pool and write a select statement. Then I validate this statement and validation returns columns (metadata).
When I want to view the results, I get an error:
Error generating view. You don't currently have the necessary privileges to execute Direct Database Requests.
Error Details
Error Codes: OAMP2OPY:Q4NU7XSN
Invalid Handle Of 'class saw::NQWebView *' Exception
Do I have to set some parameters somewhere in OBIEE?
BI EE - 10.1.3.2.1
Source: Oracle DB 10g R1
Thanks
Gorazd

I have blogged about the steps that one would have to follow for making the direct database requests work. One can access them here http://oraclebizint.wordpress.com/2007/09/18/oracle-bi-ee-execute-direct-database-requests/
Thanks,
Venkat
http://oraclebizint.wordpress.com

Similar Messages

  • Create table in Database Under Creating Direct Database Request in Answers

    When creating the table, I got the following error:
    State: HY000. Code: 10058. [NQODBC] [SQL_STATE: HY000] [nQSError: 10058] A general error has occurred. [nQSError: 43093] An error occurred while processing the EXECUTE PHYSICAL statement. [nQSError: 17001] Oracle Error code: 955, message: ORA-00955: name is already used by an existing object at OCI call OCIStmtExecute: CREATE TABLE AGG_PRODUCTS_CATEGORY_D AS (SELECT DISTINCT PROD_CATEGORY_ID ,PROD_CATEGORY ,PROD_TOTAL_ID ,PROD_TOTAL FROM PRODUCTS) . [nQSError: 17011] SQL statement execution failed. (HY000)
    SQL Issued: EXECUTE PHYSICAL CONNECTION POOL "SH"."Connection Pool" CREATE TABLE AGG_PRODUCTS_CATEGORY_D AS (SELECT DISTINCT PROD_CATEGORY_ID ,PROD_CATEGORY ,PROD_TOTAL_ID ,PROD_TOTAL FROM PRODUCTS)
    SQL Statement:
    CREATE TABLE AGG_PRODUCTS_CATEGORY_D
    AS
    (SELECT DISTINCT PROD_CATEGORY_ID
    ,PROD_CATEGORY
    ,PROD_TOTAL_ID
    ,PROD_TOTAL
    FROM PRODUCTS);
    Connection Pool: "SH"."Connection Pool"
    The above sql statement works when creating the table in SQLPlus. Is there a syntax error when trying to do it in Answers? I don't use the semi-colon at the end in Answers. Thanks.
    Edited by: whoknows on May 24, 2010 1:55 PM

    look at your physical layer in the RPD you'll find that the does table exist (easy to find, it's represented by an icon in red) and you need to drop it before running your aggregate.
    Fiston

  • OBIEE Answers Direct Database Request

    The issue is that I want to link two reports created using Direct Database Request. i.e. when I click on a column of Report A I should be directed to Report B with the filter passed from Report A. The issue that we are facing is that we can access the presentation variables in Report A, but are unable to pass them to Report B.
    Any Idea ?
    Regards,

    we can access the presentation variables in Report A, but are unable to pass them to Report B.
    If you are not using the prompts, How can you refer a Presentation Variable?
    GOURL can be implemented to Direct Database Requests...
    Go to Column Properties ==> Data Format ==>Check Override Default Data Format and Choose Custom .. Format
    Here specify the Go URL..
    For GO URL concepts, go through the link given by Christian..

  • Obiee Answers Direct database request error

    Hi,
    I am learning obiee 10/g and installed 10g version on my laptop.
    when i tried to run the query in Answers through "direct database request"
    connection pool is > "SH"."Connection Pool"
    Sql statement is > Select * from Channels
    When i clicked on "validate sql and retrieve columns" button i get the below error
    error : Odbc driver returned an error (SQLExecDirectW).
    error : [nQSError: 16001] ODBC error state: S0002 code: 942 message: [Oracle][ODBC][Ora]ORA-00942: table or view does not exist. [nQSError: 16002] Cannot obtain number of columns for the query result. (HY000)
    error : SQL Issued: {call NQSGetQueryColumnInfo('EXECUTE PHYSICAL CONNECTION POOL "SH"."Connection Pool" SELECT * FROM Channels')}
    What could be the issue ... Please advise
    Thank You

    Hi,
    The channels table is in the database schema ..because i am able to drag the columns from channels table in answers and veiw the results.
    when the query runs through the RPD it works fine .
    but when i run the query using direct database request feature of answers...I see the error.

  • Unable to Schedule a Direct Database Request in OBIEE 11g.

    Hi All,
    I am trying to schedule a Report that is generated using a Direct Database Request Query.
    Whenever I try to create an Alert for this specific Report it Fails to deliver.
    I checked the Job Manager for this Alert. I found out that the Job has completed with an Exit Code = 2 and there was no other error description for the same.
    Can we not create an alert for a Direct Database Request.
    Please let me know if anyone has dealed with such an issue and if anyone has a solution for this.
    Thanks in advance.
    Dev.

    Analyses based on direct database requests and sent out through agents work just like any other analysis in terms of content, delivery etc.
    Are you sure that you're not hitting a privilege problem and that the user executing the agents isn't allowed to run direct database requests?

  • Direct database request and session variable value

    Hi,
    I have a problem by doing the following : idea is to have report with a list of all tables in user schema (which are not all in repository physical layer).
    By clicking on the name of any, should bring answer report which is done as direct database request doing basically select * from table_clicked (this will be basically the same table with sufix _err holding error rows).
    What I'm trying to do is having some kind report for error rows which can be in different tables in my database. So i had in mind to construct name of table i need , and pass it to database request through session variable. Am i doing right by doing direct database request like this :
    select * from 'VALUEOF(NQ_SESSION.TestVar2)'
    Is there another easyer way of doing this? I know this can be done by gourl by passing parameters but not sure how when i can't filter columns in direct database request (this can be different tables with different names of columns). I hope i didn't complicated this too much.
    Thnx in adwance

    Hi,
    I know this is a hack, and would be much more easy to create one table with dimension and measures, but this is intended to be used with code generator, which can produce different error tables with different column names in different time: It is not conviniet for somebody to add them to repository every 5 minutes. For example : i run my workflow and for first run I have errors in table1(let us say customer table with 30 columns) and if click on the table name in some answer report, i want to see all the bad records in the table. Tomorrow after the run, there are bad records in table1 and in table2 (lets say products) so I would have choice to pick table 1 or table2 and see al the bad records in any of these tables. This means that I can not now which tables will I have tomorrow, and as it is generic, I can manually add some tables in my model, and would have to add err table also as a possibility to have error rows?
    I saw post saying that you can pass parameter value by using go url functionality, by modifying configinstance file, but didn't suceed - http://gerardnico.com/wiki/dat/obiee/logical_sql/obiee_session_variable_go_url . Maybe some mistake or any better solution? I created session variable TestVar2, also modified instanceconfig.xml by adding this before </ServerInstance>
    <ParamList>
    <Param name="NQ_SESSION.TestVar2" source="url" nameInSource="SETVAR"/>
    </ParamList>
    and used go url in column formula : ''||"Physical Targets"."Physical Table"||''
    Can I use @1 for using first column value?
    Thnx

  • Obiee 11g Executing a Direct Database Request in my Dashboard

    Hi Experts,
    i want to create in my dashboard Button:
    when i presses Button message will appear with question with 2 buttons :
                  1 Ok        : will execute Direct Database procedure.
                  2 Cancel : return to source dashboard.
    what is the way to execute ?
    I would appreciate your help.
    sin

    Analyses based on direct database requests and sent out through agents work just like any other analysis in terms of content, delivery etc.
    Are you sure that you're not hitting a privilege problem and that the user executing the agents isn't allowed to run direct database requests?

  • Use of Filter in Direct Database Request for Custom Navigation

    Because of union and other complex sql code I am using Direct Database Request. (DDR) In 1st request based on DDR containing column Region, I need to do Region column value navigation to the Target report. The Target report is also based on DDR and has column Region.
    For 1st Report Region Column Value Navigation to work
    1. I did activate value interaction in 1st Report for Region column and set Target to Report 2.
    2. In 2nd Report, I have to use Filter and make region column "Is Prompted". But in DDR the filter is not available. How do I solve this problem?

    by using Direct database request your bypassing all the wanderful metadata you built in the BMM layer, as such much functionality is not available.
    If you really need to use such complex SQL, I would suggest creating an inline view in the phyiscal layer and at least model this through your BMM either as a flat data source (ie include the dimension columns and model the same inline view into your BMM star)
    If you do that, the BI Server will know what other logical columns this data source can relate you and you should find the navigation works as expected.
    If you dont fancy that good practice, have a look at creating GOURL formulas as the column fx's, format as HTML to present the data as a hyperlink and manually pass all the parameters to the 2nd report.
    I'd do the first option, its more inline with intended use.
    What cant you do using the 'normal modelling / answers techniqes with union (see combined request in answers) and complex sql (evaluate function in RPD)??

  • Direct Database Request with Dashboard Prompt LOV Source

    I have complex Direct Database Request query having Dashboard Prompt. In Dashboard prompt I want to have LOV. But to create the DPrompt having LOV, I must have the table/column in Subject Area. How I can have table in RPD not connected or joined with any table in RPD?
    The idea is to do the reporting based on direct query with Prompt/LOV but do not want to include the prompt source table with other my main logical model which is used for other purpose.

    Hi Kishore
    Thanks for the reply but it is little less clear because I already have working Dashboard level prompt where
    1. Instead of LOV I type the value, use the Presentation Variable as Set Variable on Dashboard Prompt, say pDepartment
    2. Created direct database rqeuest query having where condition .. WHERE Department= '@{pDepartment}'
    And the above Dashboard works great. Only problem is that I want to have LOV for Department for which I need to have the respective table/column in RPD
    I liked your idea about BI publisher but how do you really deploy the BI Publisher?
    Thanks
    OBIEEFAN

  • Direct Database Request - Incorrect Column Data type

    Hello All -
    hope you can help with this. I'm using the Direct Database Request in Oracle BI to send a complex query directly to our data warehouse. My problem is that the result columns containing my measures are converted to integer by Oracle BI when they should be double. The integer conversion causes decimal values to be rounded, reading to incorrect results in my reports. I've tried several tweeks to my query in an attempt to allow OBIEE to make the correct guess on the data type but nothing has worked.
    Is there a way to force OBIEE to recognize the correct data type for a column in a Direct Database Request Query?
    Thanks in advance for you help!
    Mac

    Thank you both.
    David's response was helpful from a style/readability perspective (the columns in question were complex expressions) but I had already attempted the approach and it hadn't solved the formatting issue. Nico's response solved the problem.
    Regards,
    Mac

  • Direct Database Request Error: illegal number at oci

    Hello, all.
    In Oracle BI Answers i get an error by building an direct database request: illegal number at oci.....
    The reason of error is in expression to_char((date_1-date_2)*24, '9990.99')
    The error disappears if i write expression to_char((date_1-date_2)/*24*/, '9990.99')
    BI doesn`t understand multiplying in SQl request?

    Hi,
    Couple of suggestions :
    1) Run your direct database queries in a SQL editor (SQL Developer, TOAD, SQLplus) etc to confirm the query runs OK - be carefull with Toad or SQL Dev - you want to return the entire dataset, not just the first xxxxK rows these tools tend to bring back, they sometimes hide the problem 'row' which maybe is causing the error.
    2) Once the error is returned via straight up SQL , maybe try the database / SQL forum as your problem I think lies there, not with the BI Server.
    3) My one stop shop for Oracle date arithmetic : http://www.akadia.com/services/ora_date_time.html
    4) assuming the SQL returns correctly, report back to us so we can help with OBIEE specific issues !
    what time period are you trying to bring back between your date 1 and date 2 ?
    Hope this helps a little,
    Alastair

  • Querying Essbase text measures via Oracle BI direct database request

    Hi,
    There is a text measure in an Essbase database. The same MDX query shows text values when executed directly in Essbase or in SmartView and numeric codes when executed via Oracle BI Direct Database Request interface.
    Is it possible to show text values in OBIEE?
    (Versions: Oracle BI 10.1.3.4 & Essbase 11.1.1.2)
    Thanks in advance and best regards

    I'm sorry if my description looks cryptic.
    There are no problems with alias tables or SmartView., I'll try to explain the problem better.
    In Essbase there is a text measure "Code" and a text list "Code_Values" which contains text values for this measure:
    1 - AA
    2 - BB
    3 - CC
    4 - DD
    Let there be an MDX query 'SELECT ON COLUMNS, [DIM1].Members ON ROWS FROM [APP].[DB]'.
    When such query is run in Essbase Administration Services Console, it returns the following table, which is the desired behaviour:
    DIM1 Code
    0100     AA
    0200     BB
    0300     CC
    0400     DD
    When it is run as a Direct Database Request in Oracle BI Answers, it returns only numeric values, but not the text values from "Code_Values":
    DIM1 Code
    0100     1
    0200     2
    0300     3
    0400     4
    So, the question is: is there any way to achieve desired behaviour using Oracle BI Answers?
    Edited by: WxD on 17.08.2009 17:42                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

  • Table Functions, Direct Database Requests, and NUMBER data types

    Hello. I call a number of table functions from our BI Enterprise server, and I've elected to do so using Direct Database Requests (I believe you can also call table functions in the physical layer of the repository, but that's not what I'm doing). The problem is that whenever I return any number from the table function that is not a whole number (1.23, for example), BI assigns the INTEGER datatype to the field instead of the DOUBLE datatype, thereby rounding my number to the nearest integer. Here's a concise example:
    Create these 3 database objects:
    CREATE OR REPLACE TYPE my_row AS OBJECT (my_num NUMBER);
    CREATE OR REPLACE TYPE my_tab AS TABLE OF my_row;
    CREATE OR REPLACE FUNCTION my_table_function RETURN my_tab
    PIPELINED IS
    BEGIN
    PIPE ROW(my_row(1.23));
    END;
    Then make this your query in your Direct Database Request:
    SELECT my_num FROM table(my_table_function);
    That query correctly returns "1.23" when it's called from the database. In BI, on the other hand, it returns "1" (and labels the field an INTEGER instead of DOUBLE data type). If in the Direct Database Request you change the Column Properties ->Data Format -> Decimal Places from 0 to 2, it then not surprisingly displays "1.00". I then tried changing MY_ROW.MY_NUM's datatype by explicitly specifying precision, and no luck. BI still labels this field as an INTEGER. Then I started trying to trick BI by massaging the SQL statement itself. None of the following worked:
    SELECT to_number(my_num) as my_num2 FROM table(my_table_function);
    SELECT my_num2 + 0.01 as my_num3 FROM (SELECT my_num - 0.01 AS my_num2 FROM table(my_table_function));
    SELECT to_number(to_char(my_num)) as my_num2 FROM table(my_table_function);
    SELECT to_number(substr(to_char('x'||my_num),2)) as my_num2 FROM table(my_table_function);
    Now I did find a solution, but I'm surprised that I have to resort to this:
    SELECT * FROM (SELECT /*+ NO_MERGE */ my_num FROM table(my_table_function));
    Does anyone out there know of a better way to do this? The above is a hack in my opinion. :)
    Thanks in advance for any input.
    -Jim

    Yes, it's really amazing.
    But I got it.
    CREATE OR REPLACE TYPE my_row AS OBJECT (my_num NUMBER(10,2));and in your SQL :
    SELECT cast(my_num as double precision) as my_num2 FROM table(my_table_function);I have the good result and I see the numbers after the comma.
    Very tricky !
    Edited by: gerardnico on Jul 7, 2009 2:55 PM change number(10,2) by double precision ......... pfffff

  • Error in Oracle BI EE Analytics when running a direct database request

    This is in the Oracle Answers portion of the Analytics tool. When a query is entered into the Direct Database Query text box and the "Validate SQL and Retrieve Columns" button is clicked, the columns are indeed returned (which would seem to indicate that the connection pool settings are correct etc.), but when I click on the results tab it throws an error:
    View Display Error
    Error generating view. You don't currently have the necessary privileges to execute Direct Database Requests.
    Error Details
    Error Codes: OAMP2OPY:Q4NU7XSN
    Invalid Handle Of 'class saw::NQWebView *' Exception
    I am at a loss trying to figure this error out - clearly it is connected to the DB since it can see column names, and I was able to use the Administration tool to create a repository which Analytics can use, so why can't I directly query my database? Any help would be greatly appreciated.

    It sounds like the setting has not been set to allow you to execute a direct database query.
    You can do this by logging into the Presentation services as the Administrator user. Clicking on the Settings tab and then selecting the Administration option. On the Oracle BI Presentation Services Administration window select the Manage Privileges option. This brings up the Privileges Administration window, scroll down to the Answers section (listed on the left) and check the Execute Direct Database Requests privilege setting this is defaulted to let no one execute Direct SQL request. Reset the privileges such that the group that the user trying to execute the direct database request belongs to is set to be able to execute the direct database requests. This should alleviate the error that you are getting.
    I hope that this helps.
    Tim

  • Date format in Direct database request

    I have a report with direct database request.
    I have a date prompt..I am storing the date in a Presentation Variable named pv_date.
    In the direct database request, I have a where clause:
    WHERE business_date IN ( @{pv_date}{'1/1/2013'} )
    when I run open dashboard for the first time, its throwing me an error near TIMESTAMP.
    WHERE business_date IN( TIMESTAMP ''2013-01-01 00:00:00'')
    AND ALSO When I run this report from dashboard after choosing a date say 2/20/2013, I see the query as:
    WHERE business_date IN (2013-02-20 00:00:00)
    and hence throwing error.
    Its throwing error in both the cases. How do I change the format in WHERE clause..
    Ideally, I want the query to be WHERE business_date IN ('2/20/2013') or Business_date IN ('2013-02-20')

    Thank you both.
    I am using Sybase and hence used convert function.
    But still I see the word TIMESTAMP in the query which is causing issue.
    business_date IN(CONVERT(char(10), TIMESTAMP ''2013-03-27 00:00:00'',101))
    and when I run the report by choosing any date, I see this: business_date IN(CONVERT(char(10),2013-03-27 00:00:00,101)) ; throwing error because No single quoted for the date.
    How do I remove the word TIMESTAMP?? and how do I impose single quotes..

Maybe you are looking for