CTXRULE matches non-existing query string

Oracle Database 10g Enterprise Edition Release 10.2.0.1.0
==============================================
SQL> select * from books_cat;
     ID CAT               QRY
141 Oracle          {Oracle} OR {RDBMS}
142 Russia          {Russia} OR {Russian}
SQL> select id, file_desc from books;
     ID FILE_DESC
101 OracleText.txt
102 OracleTextDeveloper.txt
SQL> @./sql/idctxr_books_cat.sql
+++++++++++++++++++++++++
{Russia} OR {Russian}:OracleTextDeveloper.txt
PL/SQL procedure successfully completed.
SQL> select * from xbooks_cat;
BOOK_ID CAT_ID
102     142
SQL> ! vi ./sql/idctxr_books_cat.sql
declare
v_clob CLOB;
v_file BFILE;
v_cid NUMBER;
v_src_offset NUMBER := 1;
v_dst_offset NUMBER := 1;
v_lang NUMBER := 0;
v_warn NUMBER := 0;
v_retcode NUMBER := 0;
v_amount NUMBER := dbms_lob.lobmaxsize;
PROC_ERROR EXCEPTION;
begin
for books_rec in (select id,file_desc from books where id = 102)
loop
begin
dbms_output.put_line('+++++++++++++++++++++++++');
dbms_lob.createtemporary(v_clob,TRUE);
v_file := bfilename('BOOKS',books_rec.file_desc);
dbms_lob.fileopen(v_file);
dbms_lob.loadclobfromfile(v_clob,v_file,v_amount,v_dst_offset,v_src_offset,0,v_lang,v_warn);
v_src_offset := 1;
v_dst_offset := 1;
v_lang := 0;
v_warn := 0;
for books_cat_rec in (select id, qry from books_cat where id = 142)
loop
dbms_output.put_line(books_cat_rec.qry||':'||books_rec.file_desc);
select count(0) cnt into v_cid
from books_cat c
where matches (c.qry, v_clob) > 0;
if v_cid <> 0 then
insert into xbooks_cat values (books_rec.id, books_cat_rec.id);
v_cid := 0;
commit;
end if;
end loop;
dbms_lob.freetemporary(v_clob);
dbms_lob.fileclose(v_file);
exception
when others then
dbms_lob.freetemporary(v_clob);
dbms_lob.fileclose(v_file);
dbms_output.put_line(sqlerrm);
v_retcode := 1;
end;
end loop;
if v_retcode <> 0 then
RAISE PROC_ERROR;
end if;
exception
when PROC_ERROR then
dbms_output.put_line('retcode is not 0');
when others then
dbms_output.put_line(sqlerrm);
RAISE;
end;
+++++++++++++++++++++++++++++++++++++++++++++++++++++++
I am learning Oracle Text and created the above routine to check whether Russia/Russian appears in the OracleTextDeveloper.txt file (text version of the standard Oracle documentation - B28303-03). Am I missing something?
Some more information: -
DBMS_METADATA.GET_DDL('INDEX','IDCTXR_BOOKS_CAT')
CREATE INDEX "READER"."IDCTXR_BOOKS_CAT" ON "READER"."BOO
KS_CAT" ("QRY")
INDEXTYPE IS "CTXSYS"."CTXRULE"
SQL> select token_text, token_type from dr$idctxr_books_cat$i;
TOKEN_TEXT          TOKEN_TYPE
ORACLE                    0
RDBMS                         0
RUSSIA                         0
RUSSIAN                     0

Oracle Database 10g Enterprise Edition Release 10.2.0.1.0
==============================================
SQL> select * from books_cat;
     ID CAT               QRY
141 Oracle          {Oracle} OR {RDBMS}
142 Russia          {Russia} OR {Russian}
SQL> select id, file_desc from books;
     ID FILE_DESC
101 OracleText.txt
102 OracleTextDeveloper.txt
SQL> @./sql/idctxr_books_cat.sql
+++++++++++++++++++++++++
{Russia} OR {Russian}:OracleTextDeveloper.txt
PL/SQL procedure successfully completed.
SQL> select * from xbooks_cat;
BOOK_ID CAT_ID
102     142
SQL> ! vi ./sql/idctxr_books_cat.sql
declare
v_clob CLOB;
v_file BFILE;
v_cid NUMBER;
v_src_offset NUMBER := 1;
v_dst_offset NUMBER := 1;
v_lang NUMBER := 0;
v_warn NUMBER := 0;
v_retcode NUMBER := 0;
v_amount NUMBER := dbms_lob.lobmaxsize;
PROC_ERROR EXCEPTION;
begin
for books_rec in (select id,file_desc from books where id = 102)
loop
begin
dbms_output.put_line('+++++++++++++++++++++++++');
dbms_lob.createtemporary(v_clob,TRUE);
v_file := bfilename('BOOKS',books_rec.file_desc);
dbms_lob.fileopen(v_file);
dbms_lob.loadclobfromfile(v_clob,v_file,v_amount,v_dst_offset,v_src_offset,0,v_lang,v_warn);
v_src_offset := 1;
v_dst_offset := 1;
v_lang := 0;
v_warn := 0;
for books_cat_rec in (select id, qry from books_cat where id = 142)
loop
dbms_output.put_line(books_cat_rec.qry||':'||books_rec.file_desc);
select count(0) cnt into v_cid
from books_cat c
where matches (c.qry, v_clob) > 0;
if v_cid <> 0 then
insert into xbooks_cat values (books_rec.id, books_cat_rec.id);
v_cid := 0;
commit;
end if;
end loop;
dbms_lob.freetemporary(v_clob);
dbms_lob.fileclose(v_file);
exception
when others then
dbms_lob.freetemporary(v_clob);
dbms_lob.fileclose(v_file);
dbms_output.put_line(sqlerrm);
v_retcode := 1;
end;
end loop;
if v_retcode <> 0 then
RAISE PROC_ERROR;
end if;
exception
when PROC_ERROR then
dbms_output.put_line('retcode is not 0');
when others then
dbms_output.put_line(sqlerrm);
RAISE;
end;
+++++++++++++++++++++++++++++++++++++++++++++++++++++++
I am learning Oracle Text and created the above routine to check whether Russia/Russian appears in the OracleTextDeveloper.txt file (text version of the standard Oracle documentation - B28303-03). Am I missing something?
Some more information: -
DBMS_METADATA.GET_DDL('INDEX','IDCTXR_BOOKS_CAT')
CREATE INDEX "READER"."IDCTXR_BOOKS_CAT" ON "READER"."BOO
KS_CAT" ("QRY")
INDEXTYPE IS "CTXSYS"."CTXRULE"
SQL> select token_text, token_type from dr$idctxr_books_cat$i;
TOKEN_TEXT          TOKEN_TYPE
ORACLE                    0
RDBMS                         0
RUSSIA                         0
RUSSIAN                     0

Similar Messages

  • Retain existing query strings on seach

    Hi All
    I have the following scenario. Any help is appreciated.
    I have an existing query string in the url . When I click the search button, it removes all existing query string and adds its own and redirects to the results page.
    Is there a way I can retain the existing query strings in the url.
    I'm using Sharepoint 2013

    Hi,
    For reproducing this issue, please give the detailed information about the existing query string in URL and the parameter.
    In addition, please check if the link is useful for you:
    http://techmikael.blogspot.com/2013/09/appending-query-terms-in-sharepoint.html
    Best Regards,
    Wendy
    TechNet Community Support
    Please remember to mark the replies as answers if they help, and unmark the answers if they provide no help. If you have feedback for TechNet Support, contact
    [email protected]

  • Links to Word docs on IE6 dump binary to browser, unless add query string

    I'm seeing a weird problem with a small app running on WLS 8.1, using IE6 as the browser. The app has several links to PDF documents and MS Word docs.
    When I follow a plain link to a MS Word doc, the contents get dumped into my browser window as binary gibberish. If I change the URL by adding "?a" to the end (a non-empty query string), it correctly asks me if I want to open MS Word to read the document.
    Plain links to PDF documents work fine, as do plain links to PDFs or MS Word docs while in Netscape.
    I tried adding a "mime-type" mapping in my web.xml for "application/msword", but that didn't appear to make any difference.
    What is going on here?

    Never mind. After I added the mime-type setting, I found I had to forcibly clear the browser cache, and then it started working.

  • Contains return all the records when the query string matches the columns

    I used the multi_column_datastore preference and created an index on three columns (item_name, description,owner_part_number). Now if I do a search:
    select * from items where contains(description, 'description') > 0;It returns all the rows in items table, but not all the rows have "description" as a word. I guess Oracle text assumes the query intends to get all the rows as the query string matches one of the column names. My question is whether Oracle Text has any preference settings to alter this behavior?
    execute ctx_ddl.create_preference('item_multi_preference', 'MULTI_COLUMN_DATASTORE');
    execute ctx_ddl.set_attribute('item_multi_preference', 'columns', 'item_name, description,owner_part_number');
    create index item_text_index on items(description) indextype is ctxsys.context filter by owner parameters('LEXER ENG_LEXER WORDLIST ENG_WORDLIST STOPLIST CTXSYS.EMPTY_STOPLIST datastore item_multi_preference MEMORY 1024M');Thanks.
    Jun Gao

    It looks like a basic_section_group fixes the problem as well, as demonstrated below and I believe a basic_section_group may be more efficient than auto_section_group.
    SCOTT@orcl_11gR2> -- recreation of problem:
    SCOTT@orcl_11gR2> drop table items
      2  /
    Table dropped.
    SCOTT@orcl_11gR2> create table items (
      2       "ITEM_NAME"             varchar2(100 byte),
      3        "ITEM_NUMBER"              varchar2(100 byte),
      4        "DESCRIPTION"              varchar2(4000 byte),
      5        "OWNER" number
      6  )
      7  /
    Table created.
    SCOTT@orcl_11gR2> begin
      2    FOR Lcntr IN 1..100
      3    loop
      4         insert into items (item_name, item_number, description, owner)
      5         values (dbms_random.string('A', 10),
      6              dbms_random.string('A', 10),
      7              dbms_random.string('L', 8) || ' '
      8              || dbms_random.string('A', 4)
      9              || dbms_random.string('A', 5)  || ' '
    10              || dbms_random.string('A', 10),
    11              dbms_random.value(1,10) );
    12    end loop;
    13  end;
    14  /
    PL/SQL procedure successfully completed.
    SCOTT@orcl_11gR2> begin
      2    FOR Lcntr IN 1..100
      3    loop
      4         insert into items (item_name, item_number, description, owner)
      5         values (dbms_random.string('A', 10),
      6              dbms_random.string('A', 10),
      7              dbms_random.string('L', 8) || ' '
      8              || dbms_random.string('A', 4) || '111'
      9              || dbms_random.string('A', 5)  || ' '
    10              || dbms_random.string('A', 10), 1234 );
    11    end loop;
    12  end;
    13  /
    PL/SQL procedure successfully completed.
    SCOTT@orcl_11gR2> exec ctx_ddl.drop_preference('ENG_WORDLIST');
    PL/SQL procedure successfully completed.
    SCOTT@orcl_11gR2> begin
      2    ctx_ddl.create_preference('ENG_WORDLIST', 'BASIC_WORDLIST');
      3    ctx_ddl.set_attribute('ENG_WORDLIST','PREFIX_INDEX','TRUE');
      4    ctx_ddl.set_attribute('ENG_WORDLIST','PREFIX_MIN_LENGTH',1);
      5    ctx_ddl.set_attribute('ENG_WORDLIST','PREFIX_MAX_LENGTH',10);
      6    ctx_ddl.set_attribute('ENG_WORDLIST','SUBSTRING_INDEX','TRUE');
      7    ctx_ddl.set_attribute('ENG_WORDLIST','WILDCARD_MAXTERMS', 0);
      8  end;
      9  /
    PL/SQL procedure successfully completed.
    SCOTT@orcl_11gR2> execute ctx_ddl.drop_preference('ENG_LEXER');
    PL/SQL procedure successfully completed.
    SCOTT@orcl_11gR2> begin
      2    CTX_DDL.CREATE_PREFERENCE ('ENG_LEXER', 'BASIC_LEXER');
      3    CTX_DDL.SET_ATTRIBUTE ('ENG_LEXER', 'PRINTJOINS', '@-_');
      4  end;
      5  /
    PL/SQL procedure successfully completed.
    SCOTT@orcl_11gR2> execute ctx_ddl.drop_preference('items_multi_preference');
    PL/SQL procedure successfully completed.
    SCOTT@orcl_11gR2> begin
      2    ctx_ddl.create_preference('items_multi_preference', 'MULTI_COLUMN_DATASTORE');
      3    ctx_ddl.set_attribute('items_multi_preference', 'columns', 'item_name, description,item_number');
      4  end;
      5  /
    PL/SQL procedure successfully completed.
    SCOTT@orcl_11gR2> create index items_text_index
      2  on items(description)
      3  indextype is ctxsys.context
      4  parameters
      5    ('LEXER         ENG_LEXER
      6        WORDLIST   ENG_WORDLIST
      7        STOPLIST   CTXSYS.EMPTY_STOPLIST
      8        datastore  items_multi_preference
      9        MEMORY     1024M')
    10  /
    Index created.
    SCOTT@orcl_11gR2> create index owner_idx on items (owner)
      2  /
    Index created.
    SCOTT@orcl_11gR2> exec dbms_stats.gather_table_stats (user, 'ITEMS')
    PL/SQL procedure successfully completed.
    SCOTT@orcl_11gR2> select count(*)
      2  from   items
      3  where  contains (description, 'description') > 0
      4  /
      COUNT(*)
           200
    1 row selected.
    SCOTT@orcl_11gR2> -- correction of problem:
    SCOTT@orcl_11gR2> exec ctx_ddl.drop_section_group ('items_sec')
    PL/SQL procedure successfully completed.
    SCOTT@orcl_11gR2> begin
      2    ctx_ddl.create_section_group ('items_sec', 'basic_section_group');
      3    ctx_ddl.add_field_section ('items_sec', 'item_name', 'item_name', true);
      4    ctx_ddl.add_field_section ('items_sec', 'description', 'description', true);
      5  end;
      6  /
    PL/SQL procedure successfully completed.
    SCOTT@orcl_11gR2> drop index items_text_index
      2  /
    Index dropped.
    SCOTT@orcl_11gR2> create index items_text_index
      2  on items(description)
      3  indextype is ctxsys.context
      4  parameters
      5    ('LEXER         ENG_LEXER
      6        WORDLIST   ENG_WORDLIST
      7        STOPLIST   CTXSYS.EMPTY_STOPLIST
      8        datastore  items_multi_preference
      9        MEMORY     1024M
    10        section group items_sec')
    11  /
    Index created.
    SCOTT@orcl_11gR2> select count(*)
      2  from   items
      3  where  contains (description, 'description') > 0
      4  /
      COUNT(*)
             0
    1 row selected.

  • Query string such as a search engine for oracle

    first of all ,sorry for my English but i'll try to explain clearly as i can !!
    i would like to get a result from query that order by most match in each record
    for example :
    input value is "football world cup" ; so there are 3 words to find; "football","world","cup" (i split this string with space)
    and there are 3 columns in table to find
    the result must have to return any records that found 3 words in same record
    and follow by any records that found 2 words in same record
    and follow by any record that found each word
    now i'm doing it like this :
    select distinct * from (
       select * from tbl_1 where
       (col_1 like '%football%' or col_2 like '%football%' or col_3 like '%football%')
       AND (col_1 like '%world%' or col_2 like '%world%' or col_3 like '%world%')
       AND (col_1 like '%cup%' or col_2 like '%cup%' or col_3 like '%cup%')
    UNION ALL
       select * from tbl_1 where
       (col_1 like '%football%' or col_2 like '%football%' or col_3 like '%football%')
       AND (col_1 like '%world%' or col_2 like '%world%' or col_3 like '%world%')
    UNION ALL
       select * from tbl_1 where
       (col_1 like '%football%' or col_2 like '%football%' or col_3 like '%football%')
       AND (col_1 like '%cup%' or col_2 like '%cup%' or col_3 like '%cup%')
    UNION ALL
       select * from tbl_1 where
       (col_1 like '%world%' or col_2 like '%world%' or col_3 like '%world%')
       AND (col_1 like '%cup%' or col_2 like '%cup%' or col_3 like '%cup%')
    UNION ALL
       select * from tbl_1 where
       (col_1 like '%football%' or col_2 like '%football%' or col_3 like '%football%')
       OR (col_1 like '%world%' or col_2 like '%world%' or col_3 like '%world%')
       OR (col_1 like '%cup%' or col_2 like '%cup%' or col_3 like '%cup%')
    )this query is generated by java program and it works well
    i think this query is suitable for input value that less than 3 words (cos it's not too large) ,but if input value is more than 3 words
    so this query will be generated too large and nobody do like that ,i think
    so ,do you have any suggesstions or solutions for this problem ??
    thanks in advance :)
    Edited by: user4463440 on Sep 12, 2010 12:14 PM

    Hi,
    Welcome to the forum!
    Whenever you have a quetion, post a little sample data (CREATE TABLE and INSERT statements) and the results you want from that data. Explain how you get those results from that data. Say what version of Oracle you're using.
    For example, the data might be:
    CREATE TABLE     tbl_1
    (     tbl_1_id     NUMBER (6)     PRIMARY KEY
    ,     col_1          VARCHAR2 (20)
    ,     col_2          VARCHAR2 (20)
    ,     col_3          VARCHAR2 (20)
    INSERT INTO tbl_1 (tbl_1_id, col_1, col_2, col_3) VALUES (1, 'world c',       'up',               'soccer world');
    INSERT INTO tbl_1 (tbl_1_id, col_1, col_2, col_3) VALUES (2, 'FOOTBALL',  'world wide web',  NULL);
    INSERT INTO tbl_1 (tbl_1_id, col_1, col_2, col_3) VALUES (3, 'Foot',       'ball',          'theworldcup');
    INSERT INTO tbl_1 (tbl_1_id, col_1, col_2, col_3) VALUES (4, 'Foo',       'Bar',          'Crup');
    CREATE GLOBAL TEMPORARY TABLE     target
    (     target_txt     VARCHAR2 (20)
    ON COMMIT PRESERVE ROWS
    INSERT INTO target (target_txt) VALUES ('Football');
    INSERT INTO target (target_txt) VALUES ('World');
    INSERT INTO target (target_txt) VALUES ('Cup');I think the results you woulkd want from that data are:
    TBL_1_ID COL_1           COL_2           COL_3            NUM_FOUND
           2 FOOTBALL        world wide web                           2
           3 Foot            ball            theworldcup              2
           1 world c         up              soccer world             1
           4 Foo             Bar             Crup                     0because the rows with
    tbl_1_id 2 and 3 both matched 2 of the target words (col_3='theworldcup' matched both 'world' and 'cip',
    tbl_1_id=1 matched only 1 (the 'c' at the end of col_1 and 'up' at the beginning of col_2 do not combine to make 'cup', and 'world' in 2 columns only counts as 1 match), and
    tbl_1_id=4 matched none.
    One way to get those results in Oracle 9 (and up) is:
    ELECT       t.tbl_1_id, t.col_1, t.col_2, t.col_3
    ,       COUNT (DISTINCT UPPER (g.target_txt))     AS num_found
    FROM            tbl_1          t
    LEFT OUTER JOIN       target     g     ON     UPPER (t.col_1) || ' ' ||
                                  UPPER (t.col_2) || ' ' ||
                                  UPPER (t.col_3)
                             LIKE     '%' || UPPER (g.target_txt)
                                      || '%'
    GROUP BY  t.tbl_1_id, t.col_1, t.col_2, t.col_3
    ORDER BY  num_found     DESC     NULLS LAST
    ,       t.tbl_1_id
    ;This will work with any number of target words.
    The searched columns in tbl_1 must be hard-coded into the query, but it's easy to add as many as you need.
    This assumes that you can create a table to hold the target words. If your application is getting a delimited list, it should be easy to have it parse the list and INSERT as many rows as necessary into the target table. A Global Temporary Table might be best for the target table; that way, different sessions could run the query at the same time, each with its own set of target words.
    If you can't create a target table, then you can pass a delimited list, and have the query create a result set that has one target word on a row. See the following thread for an example:
    i don't won't to tokenize in plsql
    I hope this answers your question.
    If not, change the sample data (if needed), and post the results you want from that data, with an explanation with specific examples.
    Edited by: Frank Kulash on Sep 12, 2010 8:14 PM
    Chnaged "CREATE TABLE target" statement

  • Can a single quote be used at the beginning of a query string parameter

    Hi all,
    I am a relative newbie and have a newbie question.
    Can a single quote be used at the beginning of a query string parameter passed to a jsp page? Are there any inherant problems with this? Is there a comprehensive list of characters that must be escaped in a query string parameter?
    Example: http://mysite.com/myjsp.jsp?param1='nghdh
    Thanks

    You'll have to escape most non-letter characters before you can pass them as a URL. I don't know if it's necessary for a single quote, but better safe than sorry.
    Either use java.net.URLEncoder(...) or use javax.servlet.http.HttpServletResponse.encodeURL(String). I wouldn't recommend using unescaped characters in your URLs, that might cause pretty funny behavior that's sometimes hard to trace back. Don't worry about decoding it, your JSP/Servlet container will do it when you call javax.servlet.http.HttpServletRequest.getParameter(String).

  • Add Multiple Detail Items Using the Same Query String Parameter

    I am using InfoPath 2010 and SharePoint 2010. 
    I have 2 forms libraries - Expense and Expense Details. 
    The 2 libraries are linked via a custom site column Expense ID. 
    The Expense form contains the main header type info you would typically find on an expense report; e.g., name, purpose, department, etc. 
    The Expense Details form contains multiple detail expenses related to the main expense report such as airfare, rental car, etc. 
    I have created a page that displays an expense report with all of the related expense detail items. 
    The page contains a link to add a new expense detail and passes the Expense ID of the Expense form to the Expense Detail form. 
    This all works fine.  The problem comes in after the first expense detail form is submitted. 
    I can successfully submit the first detail item.  However, the expense detail form loses the Expense ID that was passed to it after the first expense detail form has been submitted. 
    The parameter still shows in the URL but the detail form no longer shows the value of the parameter. 
    What do I need to do in order to be able to add multiple expense detail items using the same Expense ID that was passed to the form? 
    I have tried using a Submit Behavior of Open a new form, Close the form, and Leave the form open. 
    None of these options give me what I need.  Thanks for your help.
    pam

    Laura Rogers Blog
    In case anyone stumbles upon this looking for an answer. Laura Rogers has the answer found in the comments section of her blog above.  It’s not the best but it
    does work. You have to add an extra Info Path Web Form for it to work. I know, you can roll your eyes.<o:p></o:p>
    Steps.<o:p></o:p>
    1. Add Query String<o:p></o:p>
    2. Add the extra Info Path form to the page. This form will be a hidden on the page and will receive the value from the query string.<o:p></o:p>
    3. Add your original Info Path form and have it receive a parameter from the hidden Info Path form.<o:p></o:p>
    Now, when you hit save and it opens a new form the 3 Info Path form will function properly. <o:p></o:p>

  • Getting error when view - Requested data type does not match with existing

    I have the siebel web service
    In the BI publisher as mentioned in the 'Siebel_BI_Publisher_Integration_Concepts.pdf', I have imported the siebel web service
    BI can recognize the 'Web service' and methods.
    I have created the paramters. The data type is 'String'
    When I try to view the report using the BI publisher, I am getting teh following error in th UI
    "Requested data type does not match with existing data type"
    This is the first time I am using BI publisher to call the Siebel web service. I don't know what this error means
    I don't know whether any log file generated wit the details of this erro message
    Any help is much appriciated
    Thanks,
    Kavitha

    Hi all,
    have you find a fix for this issue? Im facing the same situation, using Complex type, and String data type both in the service and Bi publisher. We are consuming CC&B services, and we have noticed this error appears when BIPublisher is running on WebLogic (10.3) but it does not appear when BIPublisher is running on OC4J , of course running the same report on both application servers.
    Any idea?
    Thanks a lot, regards
    Nestor

  • Usage tracking problem : not started due to non-existent Usage Tracking tab

    Hello,
    I need some help after following the necessary steps to setup 'Usage Tracking'.
    My table S_NQ_ACCT stays empty.
    The structure in the rpd files looks like
    * OBI Usage Tracking
    Connection Pool
    Usage Tracking Writer Connection Pool
    Catalog
    dbo
    S_NQ_ACCT
    My nqsconfig has the following entries related to usage tracking
    # Usage Tracking Section
    # Collect usage statistics on each logical query submitted to the
    # server.
    [ USAGE_TRACKING ]
    ENABLE = YES;
    DIRECT_INSERT = YES;
    PHYSICAL_TABLE_NAME = "OBI Usage Tracking"."Catalog"."dbo"."S_NQ_ACCT";
    CONNECTION_POOL = "OBI Usage Tracking"."Usage Tracking Writer Connection Pool" ;
    BUFFER_SIZE = 10 MB ;
    BUFFER_TIME_LIMIT_SECONDS = 5 ;
    NUM_INSERT_THREADS = 5 ;
    MAX_INSERTS_PER_TRANSACTION = 1 ;
    When making queries on the Usage Tracking SA, I still receive the following error in the NQServer.log File
    +[59049] Usage Tracking not started due to non-existent Usage Tracking table "<Database>"."<Catalog>"."<Schema>"."<Table>".+
    What am I doing wrong??
    Txs for your quick help on this!
    Kr,
    A.

    Can you post your entire NQSConfig.INI file?
    According to the message guide (http://download.oracle.com/docs/cd/E12103_01/books/AnyMsg/AnyMsg_Messages.html#wp1007961) the error you're getting specifies the table that OBIEE is trying to use, so the fact that yours reports literally "<Database>"."<Catalog>"."<Schema>"."<Table>" makes me think maybe the wrong config is being picked up. Also your comment that using a file instead of DB doesn't work either.

  • Search Engine Safe query strings

    hi guys, ok i got a good one for you...
    so ive heard that google (and users) like it if you chang:
    www.abc.com/somepage.cfm?productid=1234
    into
    www.abc.com/products/red-ones/1234
    or similar.
    so if i'm going to do this which is the best format? (i'm
    building the site from scratch so have a blank canvass)
    option 1:
    www.abc.com/products/car-parts/fuel-systems/1234
    this option - looks nice but actually points to a *virtual*
    page (www.abc.com/products/car-parts/fuel-systems/1234/index.cfm)
    that is several sub directories deep; im sure i read somewhere that
    the closer a page is the root the better google will rate it... so
    maybe this is better..
    www.abc.com/car-parts-fuel-systems/1234 or
    www.abc.com/car-parts-fuel-systems-1234
    -less visually attractive to my way of thinking but perhaps
    google would rate this page higher than the option1 one?
    or how about this (which had been suggested to me but i dont
    like)
    www.abc.com/products.cfm/car-parts/fuel-systems/1234
    i dont like the above one as it isnt www3 correct is it?
    although i can see how it is possibly nicer than
    www.abc.com/products.cfm?carpartid=1234
    so what do you guys think?
    thanks very much indeed
    Nick

    hi Nick,
    whilst you handle it all in CF via stub files a much cleaner
    approach is to use web server rewrites. On IIS you need to purchase
    something called ISAPI_Rewrite and on Apache it's free called
    mod_rewrite.
    What this does is allow the web server to pattern match your
    incoming url requests via regular expressions and rewrite them on
    the fly.
    For example,
    I'm currently working on a fusebox site, that has big massive
    query strings like
    http://mysite/index.cfm?fuseaction=links.display
    with mod_rewrite, I'm actually accessing the pages as;
    http://mysites/links/display
    - much much cleaner
    and you can get as complex as you like, for example to get
    information about a product into my URL i have one for example;
    http://mysites/products/product/1234/a-super-cool-widget
    and i have a rewrite rule that is then plucking out the
    '1234' from the URL and actually serving the page;
    http://mysites/index.cfm?fuseaction=products.product&productid=1234
    have a look into that and see how you get on,
    edit: I should say that you have to write the rewrite rules
    yourself - they're not that magic and with a little bit of time you
    can usually get them working pretty quick.

  • Using query strings in links mysite.verizon web pages

    Has anyone had trouble using query strings in links to other web pages your personal web pages?  I have a link to another web page where I pass an ID using query string but when I click on the link I get a 404 error even though the web page exists (the link appears fine).

    Hello jillibee,
    Maybe this link will provide some assistance for you. http://forums.verizon.com/t5/FiOS-Internet/Personal-Website-Access/m-p/277209/highlight/true#M19266
    Thanks,
    Shamika_Vz
    Verizon Support
    Notice: Content posted by Verizon employees is meant to be informational and does not supersede or change the Verizon Forums User Guidelines or Terms or Service, or your Customer Agreement Terms and Conditions or Plan.

  • Creating a Socket to non-existent host very slow

    Why does it take a long time to try to create a Socket to a non-existent host on a Linux machine? On a Windows machine it takes approx. 20 sec., but when I try it on a Linux machine it takes approx. 180 sec.!
    Here's the code I'm using (very simple):
    import java.io.IOException;
    import java.net.Socket;
    import java.net.UnknownHostException;
    public class SocketCreator {
    public static void
    main(String[] args) {
    long _begin = System.currentTimeMillis();
    try {
    new Socket("10.10.10.10", 2000);
    } catch (UnknownHostException exception) {
    exception.printStackTrace();
    } catch (IOException exception) {
    exception.printStackTrace();
    long _end = System.currentTimeMillis();
    System.out.println("It took: " + (_end - _begin) + " ms.");
    Some additional info:
    - Java2 SDK 1.1.x, 1.3.x and 1.4.x
    - Windows XP
    - Red Hat 7.2, 9

    This is really a Linux system-wide problem. If you wanted to fix this in Java, you might even have to resort to JNI to sent yourself a signal and interrupt your system call (the system call is connect()).
    Unfortunately, the page give by "man tcp" on Linux is often not kept up-to-date with the many options available in /proc/sys/net/ipv4 .
    Also, access to the local LAN will often give a quick "No route to host" message.
    To test the long-timeout, you have to access a remote IP that does not exist. For instance, on Linux, if you start two xterms, and on the firxt you enter:
    telnet 66.120.89.14
    and on that second your enter
    netstat -an
    You will see something like this line:
    tcp 0 1 192.168.5.18:32836 66.120.89.14:23 SYN_SENT
    So now you know that the socket is sitting in SYN_SENT.
    Now, if you look on a nice, full man page of tcp, like
    http://www.die.net/doc/linux/man/man7/tcp.7.html
    You will see
    tcp_syn_retries
    The maximum number of times initial SYNs for an active TCP connection attempt will be retransmitted. This value should not be higher than 255. The default value is 5, which corresponds to approximately 180 seconds.
    Back on the second xterm, try:
    % cat /proc/sys/net/ipv4/tcp_syn_retries
    5
    I bet you got five also. You could turn it down to two (decreases time to around 20 seconds).
    You could try this as root:
    # sysctl -w net.ipv4.tcp_syn_retries=2
    or even add this command to your /etc/rc.d/rc.local file

  • DBMS_LOB.FILEOPEN(dir, fname) gives non-existent dir or file error

    Hello!
    I've been trying to load an image file into the oracle database using the DBMS_LOB loadfromfile procedure. In order to do this, I first have to open the appropriate file which I do using
    temp_bfile := bfilename('temp_dir', in_filename);
    where in_filename is a string having the appropriate filename. and 'temp_dir' is a directory object created as follows:
    CREATE DIRECTORY temp_dir AS 'F:\';
    Next when I do a
    DBMS_LOB.FILEOPEN(temp_bfile, LOB_READONLY);
    I get an exception ORA-22285:non-existent directory or file.
    What am I doing wrong? Is the way I've created the directory object correct. I work on an NT machine.
    Mona

    Not sure if the UTL_FILE package is the same but if you don't set the "utl_file_dir" variable in the INIT.ORA file prior to calling the FOPEN procedure you will get a similiar error. There may be an equivalent parameter for the DBMS_LOB package.
    <BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica">quote:</font><HR>Originally posted by Mona Marathe ([email protected]):
    Hello!
    I've been trying to load an image file into the oracle database using the DBMS_LOB loadfromfile procedure. In order to do this, I first have to open the appropriate file which I do using
    temp_bfile := bfilename('temp_dir', in_filename);
    where in_filename is a string having the appropriate filename. and 'temp_dir' is a directory object created as follows:
    CREATE DIRECTORY temp_dir AS 'F:\';
    Next when I do a
    DBMS_LOB.FILEOPEN(temp_bfile, LOB_READONLY);
    I get an exception ORA-22285:non-existent directory or file.
    What am I doing wrong? Is the way I've created the directory object correct. I work on an NT machine.
    Mona<HR></BLOCKQUOTE>
    null

  • Reading parameters from Query string : Sender SOAP adapter.

    Hello Experts,
    I have a SOAP to SOAP scenario. Here we will have multiple receivers and dynamic receiver determination is needed.
    The sender will send a Value in Query string of URL to sender SOAP adapter. This value in Query string parameter will decide the receiver at runtime.
    I need to know, how can we read values from Query string of incoming call? I did tried to search blogs & forum threads but unfortunately not able to hit the right links.
    Any inputs will be of great help.
    Should i use "Use Query String" on sender soap channel? I tried it, but i was not able to find any query string parameters in SOAP header or payload.
    Please guide me, its bit urgent.
    Regards,
    Abhi.

    > But the argument provided from their side is: They are using standard XSD and this service is provided out of box with sender application.
    If they can add a URL parameter, they can also add a field to the structure.
    > They cant control the value mapping of parameters in payload to the extent required to implement this change.
    Adding a new field to the structure would not affect any existing mapping.
    > Since they have this custom requirement of multiple receivers & receiver to be determined at runtime, they need to go for Query string.
    This can be done based on any field of the payload.
    > I need to find a way to read the query string in any case.
    This is not supported by SOAP adapter.
    > Can I use one of the header parameters to be mapped to this value  (By selecting "Use Query string" & "Keep Headers" flag in sender CC) & then extract this value from header using Dynamic configuration ?
    This feature works only for XI header fields, like message ID or QoS.
    Not for individual parameters.

  • Sling mapping issue with Query String

    For a button component, URL behaves differently with query string. Please let me know the sling mapping example for query string.
    Button component behavior across env:-
    Working Scenario:-
    - In Author edit mode, URL pointing to "/content/<websitelink>"
    - In Author preview mode shows URL "<host>:<port>/content/<websitelink>.html"
    - In Publisher mode shows URL, "<host>:<port>/<websitelink>", we do not want "/content" before website link so it is fine.
    Failure Scenario with query string:-
    - In Author edit mode URL pointing to "/content/<websitelink>?username=han"
    - In Author preview mode with URL "<host>:<port>/content/<websitelink>?username=han"
    - In Publisher mode, <host>:<port>/content/<websitelink>?username=han - Here we see the content, which is not acceptable in our scenario.
    Please let me know the mapping changes when we have a URL with query string.

    1) I assume you configure as per the rules mentioned in http://sling.apache.org/site/mappings-for-resource-resolution.html --> 'Mapping Entry Specification' under /etc/map. Based on the configuration in /etc/map and the website that we publish, it translates and shows all the applicable combination in the Felix console http://<host>:<port>/system/console/jcrresolver.
    2) How does Adobe CQ 5.4 resolve the right mapping, if we have multiple map folder like below in /etc directory with the same website with different rules.
    etc/map --> http --> <website> with property sling:match, sling:internalRedirect
    etc/map.publish --> http --> <website> with property sling:match, sling:internalRedirect
    etc/map.publish-stag --> http --> <website> with property sling:match, sling:internalRedirect
    Kindly clarify.

Maybe you are looking for