ODBC and parsing

Hi all
I have an issue with a poorly written (imo) program that uses Oracle9204 drivers to connect to an Oracle 9204 db. This application does two things that are awful for performance.
First it does row at a time processing rather than set processing. I'll be talking to the suppliers about this.
Second, and this is the puzzle, for each row it sends a statement to the db
select * from tab where pk = 'pk_value';
which gets parsed but not executed.
immediately afterwards it sends
select rowid,* from tab where pk = 'pk_value';
which does get executed. (and indeed parsed - no bind variables here).
The app is suffering horribly on sqlnet traffic.
I'd like to get the sql rewritten to use set processing, but in the mean time if I can figure out why my second symptom happens I'd potentially cut 48% or so of the response time of the app. So the question is does anyone know what has been done that makes a C/ODBC app send a statement for parsing only followed by sending the same statement with rowid prepended to the select list (and can i do anything about it).
cheers
Niall

Do you have the ability to modify the source code? "Talking to the suppliers" may indicate that this is a delivered app that you can't modify-- that'll definitely limit your options.
The driver has to add ROWID to statements it sends to the database in order to allow for scrolling cursors (i.e. the ability to go back & forth). If the application can request forward-only cursors, that can simplify life, but that would be a code change.
Justin
Distributed Database Consulting, Inc.
http://www.ddbcinc.com/askDDBC

Similar Messages

  • Verifying and parsing "query" in cm:select query="..." ...

    I'm writting a session EJB that's passed a param (String query) which is supposed
    to be any valid "query" string passed to the cm:select tag (see "http://edocs.bea.com/wlcs/docs31/p13ndev/jsptags.htm#1057716"
    for more info on this tag and the query param).
    My problem is this: I don't think I should write ALL the stuff to validate and
    parse this string because bea has already done it in: com.beasys.commerce.foundation.expression.*;
    but the only source of documentation available on those classes is the Javadoc(which
    isn't that complete). Has anyone used these classes before(Search, Expression,
    Criteria, Logical)? Does anyone know of some documents on how to use them?
    Please help if you can. I'd really appreciate it. Thanks.

    rajan please just google or search SDN. there are large number of post for this..
    to give you a head start: for using a particular index in the select query a %_HINTS ORACLE 'INDEX clause is added

  • ODBC and XA

    Hi all.
    We are thinking about using ODBC in our tuxedo services to make easy the migration
    between one database and other of a different vendor. We also need to use XA.
    Have some of you information about using ODBC and XA, (conception, problems, ...)
    and how many DB ODBC drivers support it?
    Thx in advance.

    I suspect you're not going to be able to retrieve Spatial data via ODBC. The ODBC protocol doesn't have the capability to request an Object type, so it can't retrieve Spatial. Unfortunately, the ODBC standard doesn't provide any mechanism to reasonably ask for an object or for the ODBC driver to return one.
    Justin

  • Repeated retrieval and parsing of XML file causes IE to display an error message

    I have a flash application that makes a HTTP call every 120
    seconds to retrieve a xml file. This file is being generated with
    fresh data every few minutes or so and pushed to the apache web
    root with a unix mv command.
    I'm using the standard Flash XML object. The HTTP request is
    NOT over SSL (I know there is a bug related to this). Here is the
    code to make the retrieval:
    xmlData = null;
    xmlData = new XML();
    xmlData.ignoreWhite = true;
    xmlData.onLoad = xmlTraverse;
    xmlData.load("
    http://domain/dir/somefile.xml");
    The "xmlTraverse" method was written by my team. There is no
    known bug in the parsing logic.
    Intermittently and unpredictably, IE will display the
    following dialogue box:
    "A script in this movie is causing Macromedia Flash Player 8
    to run slowly. If it continues to run, your computer may become
    unresponive. Do you want to abort the script?"
    I originally leaned toward an infinite loop causing this
    problem. The timeline jumps back and forth between two frames,
    checking in the latter frame if the xml has been loaded and parsed
    before allowing execution to move to the next frame. I hardcoded
    the loop check to always be false, but this did not produce the
    message above (although it pegged my CPU).
    The only scenario where I've managed to reproduce the message
    above is by making a huge (50 MB) xml file. This consistently
    produces the message. But I don't realistically see how our xml
    file could ever be over 1 MB.
    First, can anyone cite another cause for this message? I'm
    starting to lean towards the issue lying in our parsing logic such
    as infinite recursion on a badly formed XML file. Second, does
    anyone know of a solid xml SAX parsing actionscript utility where
    you can assign callbacks to XML nodes? If the problem is in the
    parsing, we may have to replace our homegrown solution with
    something more robust and proven.

    Is it a recursive parsing function? I'm not sure about this,
    but I think this message pops up when there are more than 256
    iterations in a loop (I've read something about this 256 limit,
    that will end while loops if they exceed this, but with another
    error message... but again, I'm not totally sure about that).
    The message is typically for loops, but I don't know when it
    fires. Sometimes it appears for really 'small' loops when you're
    using the debugger (e.g. a for loop with 100 iterations), so maybe
    it is connected to the time a loop is running. You could place some
    trace statements in the xmlTraverse method, to see where the
    function was when the message occurs, or take the time the function
    needs and check if this might be related to the error.
    That's all I can come up with, guess there are people here
    with more insight to this...
    cheers,
    blemmo

  • Error in retrieving and parsing XML File

    Hi Folks
    I am Working on People centric user interface, While i am custimizing a application in Business application Builder i am getting this error
    " Error in retrieving and parsing XML File "
    can any body look on this and give me the solution
    it will be rewarded
    Regards
    M.S.Kumar

    Hello,
    As mentionned by SAP_TECH, avoid to use the BAB.
    Go to CRMC_BLUEPRINT_C and use the different option in the menu to customize the field group, toolbar group, events, ...
    Use the PCUI cookbook to find your way.
    Regards,
    Fred

  • Loading and parsing XML files

    I am currently working on an application in which I have a XML file that is 1.5 mb and has 1100 records that I need to load and parse. Loading takes less than a minute, but when I try to parse it with the DOM parser it's taking too much time. I am trying to put it into an array and then display it as if I'm tied to a database. I need a different approach. Does anyone have any experience and insight with the DOM parser? Would the SAX parser be a better way to go, why and how?

    You can use SAX... but SAX is good only if you want to read the data once.
    If you want to use the same data again and again then you might have to parse the file again... which prooves expensive.
    DOM will take too much of memory and CPU time.
    Have you tried using JDOM ? it is a new kind of a XML parsing utility that is quite lightweight and has good api to recurse the JDOM tree also.
    check it out at
    http://www.jdom.org.
    hope this helps.
    regards,
    Abhishek.

  • Reading email in outlook with c# and parsing the body

    Hello,
    I don't know where to start.
    The organization I work for uses different user web forms to collect user/client feedback. Instead of having those forms populate a table, they have them emailed to me as text in the body of an email for me to decide what to do with. My (local) boss wants
    me to upload the data into our CRM. Everyone expects me to do that by hand ( which is now getting out of hand :D.)
    I need to read an outlook 2010 email in a shared mailbox (to which I do not know the account password for mail server access) and parse the body data into a data table. 
    If I can get some help understanding how to access the individual email file(s) and read the data into a string array or something that achieves this result, I can take it from there.  All suggestions are welcome however going back to the admin who
    is in another country, won't make changes and doesn't speak english are not paths I can follow.
    My glass here, is half full with the opportunity to resolve this challenge. 

    Hello,
    You can develop a VBA macro for handling new emails in the shared mailbox. I'd suggest starting from the
    Getting Started with VBA in Outlook 2010 article. If you see a shared mailbox in your Outlook profile you can subscribe to the Inbox events (for example, ItemAdd) in the following way:
    Dim WithEvents myInboxMailItem As Outlook.Items
    Private Sub myInboxMailItem_ItemAdd(ByVal Item As Object)
    Call MsgBox("Item Added", vbOKOnly, "[email protected]")
    End Sub
    Private Sub Initialize_Handler()
    Dim fldInbox As Outlook.MAPIFolder
    Dim gnspNameSpace As Outlook.NameSpace
    Set gnspNameSpace = Outlook.GetNamespace("MAPI") 'Outlook Object
    Set fldInbox = gnspNameSpace.Folders("[email protected]").Folders("Inbox")
    Set myInboxMailItem = fldInbox.Items
    End Sub
    Private Sub Application_Startup()
    Call Initialize_Handler
    End Sub
    In the ItemAdd event handler you can get all the required information parse the message body. The Outlook object model provides
     three main ways for working with item bodies: Body, HTMLBody and WordEditor.

  • Using CDATA tags in XML program and parsing to J2ME

    Hi,
    Can anybody tell me how to use CDATA tag in a xml file and parse it to my J2ME code. is there any sample code available for this? I want to use this CDATA tag for sending Binary data. plzzzzzzz Help....!

    I think what you want is to parse a CDATA text from a xml file and let this text to execute.
    Very innovative idea!
    If I am right, I think you might mix some concept.
    Java code need to be changed to ByteCode before pased to the JVM. Furthermore, Java ME code must be verified before downloading to your machine.
    I figure that your attempt is impossible.

  • I/O Assistant Query and Parse problem.

    Hi,
    I am trying to use the I/O assistant with Instrument via the serial port (com1). When I use the query and parse option it only grabs the first line and parses it. For example, my command is "gc", my instrument by nature will echo that back to serial port and when the parse occurs it only receives the "gc" rather then the entire result. Using hyperterminal I get this below. What is important to me is the second line but I only read back gc for some reason with I/O assistant. Any way to parse entire result?
    tp gc
    version: gc.library 1.3.0.0 (2003.11.03)

    In your Query and Parse step you should see a termination character window. As explained in the help window when you move the mouse over the termination character window, this character terminates the read session. The default is \n or a line feed. When your instrument sends two lines, the first line ends with a line feed and the read stops before the second line is read. Set the term character to none to read the entire line. Your instrument probably requires a termination character at the end of the string you're sending so put the termination character in the command line (i.e. gc\n).

  • Read CLOB and parse out records

    I have a table that features an XMLTYPE column containing CLOB data with XML and HTML content in it. I'm not quite sure how I can parse out the [CDATA] section and create a unique list of IDs contained within the javascript:openLink() string. Any ideas? I've tried searching the forums for how to read a CLOB and parse out each line, but didn't find the results I was looking for.
    I've provided a sample of some of the content in this column:
    <html><![CDATA[
    <P>
    <font face="Arial" SIZE="3">
    <strong>
    <span style="FONT-FAMILY: Arial">Recruiting</span>
    </strong>
    </font>
    </P>
    <P>
    <A CLASS="divHyperLink" href="javascript:openLink(1010)">2008 Newsletters</A>
    </P>
    <P>
    <A CLASS="divHyperLink" href="javascript:openLink(1009)">2007 Newsletters</A>
    </P>
    <P>
    <A CLASS="divHyperLink" href="javascript:openLink(1008)">2006 Newsletters</A>
    </P>
    ]]></html>
    I basically need to output a list of IDs:
    LinkID
    1010
    1009
    1008

    Sorry...I thought I could figure things out based on your example, but I 'm not sure if 10g supports noentityescaping clause. Do you happen to know what I would need to substitute it with? To my understanding the XMLELEMENT function takes a name for "identifier," although I'm not quite sure in this case what the identifier should be...an XML tag value?
    This is SQL I tried to run but not getting any results:
    SELECT t2.*
    FROM (SELECT pagecontent
    FROM tb_rh_page
    WHERE pageid = 1) T,
    XMLTABLE('a/@href' PASSING XMLELEMENT(noentityescaping, EXTRACTVALUE(T.pagecontent,'/p_PAGECONTENT/Controls/divTopLeft/html/text()')).EXTRACT('//a')
    COLUMNS linkid integer PATH 'ora:replace(.,"[^[:digit:]]","")') t2
    Also the HTML is a little deeper in the XML than I originally posted, so I'm not sure if I'm getting to the path correctly.
    Here's what the data looks like in the column:
    <p_PAGECONTENT>
    <PageName/>
    <Title/>
    <Roles/>
    <Controls>
    <PageTool>
    <visible>false</visible>
    </PageTool>
    <divTopLeft>
    <visible>true</visible>
    <style>font-size:larger;overflow:auto;FILTER: progid:DXImageTransform.Microsoft.Gradient(StartColorStr=#3b6f9f, EndColorStr=#e6eff6);Height:560px;background-color:#003366;border-bottom-width: 1px;border-color: #c6ddf1;border-left-width: 1px;border-right-width: 1px;border-style: Solid;border-top-width: 1px;</style>
    <html><![CDATA[
    <P>
    <font face="Arial" SIZE="3">
    <strong>
    <span style="FONT-FAMILY: Arial">Recruiting</span>
    </strong>
    </font>
    </P>
    <P>
    <A CLASS="divHyperLink" href="javascript:openLink(1010)">2008 Newsletters</A>
    </P>
    <P>
    <A CLASS="divHyperLink" href="javascript:openLink(1009)">2007 Newsletters</A>
    </P>
    <P>
    <A CLASS="divHyperLink" href="javascript:openLink(2008)">2006 Newsletters</A>
    </P>
    ]]></html>
    </divTopLeft>
    <divTopRight>
    <visible>false</visible>
    <style/>
    <html><![CDATA[]]></html>
    </divTopRight>
    <divBottomLeft>
    <visible>false</visible>
    <style/>
    <html><![CDATA[]]></html>
    </divBottomLeft>
    <divBottomRight>
    <visible>false</visible>
    <style/>
    <html><![CDATA[]]></html>
    </divBottomRight>
    </Controls>
    </p_PAGECONTENT>

  • Read CSV File and parse it

    Hi.
    I have a .csv file on my filesystem.
    Could you post few code to read it from filesystem and parse every rows in it?
    Thanks a lot.

    External tables are far easier to use... e.g.
    I have a file on my server in a folder c:\mydata called test.txt which is a comma seperated file...
    1,"Fred",200
    2,"Bob",300
    3,"Jim",50As sys user:
    CREATE OR REPLACE DIRECTORY TEST_DIR AS "c:\mydata";
    GRANT READ, WRITE ON DIRECTORY TEST_DIR TO myuser;Note: creates a directory object, pointing to a directory on the server and must exist on the server (it doesn't create the physical directory).
    As myuser:
    SQL> CREATE TABLE ext_test
      2    (id      NUMBER,
      3     empname VARCHAR2(20),
      4     rate    NUMBER)
      5  ORGANIZATION EXTERNAL
      6    (TYPE ORACLE_LOADER
      7     DEFAULT DIRECTORY TEST_DIR
      8     ACCESS PARAMETERS
      9       (RECORDS DELIMITED BY NEWLINE
    10        FIELDS TERMINATED BY ","
    11        OPTIONALLY ENCLOSED BY '"'
    12        (id,
    13         empname,
    14         rate
    15        )
    16       )
    17     LOCATION ('test.txt')
    18    );
    Table created.
    SQL> select * from ext_test;
            ID EMPNAME                    RATE
             1 Fred                        200
             2 Bob                         300
             3 Jim                          50
    SQL>
    {code}
    http://www.morganslibrary.org/reference/externaltab.html                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • Importing CSV file and parsing it

    First of all I am very new to writing powershell code.  Therefore, my question could be very rudimentary, but I cannot find an answer, so please help.
    I'm trying to read a CSV file and parse it.  I cannot figure out how to access nth element without hardcoding its name.
    $data = Import-Csv $file   #import CSV file
    # read column headers (manually read the first row of the data file, or import it from other source, or ...)
    $file_dump = Get-Content $file  #OK, I'm sure there is another way to get just the first line, but that's not relevant
    $name_list = $file_dump[0].split(",")
    # access element
    $temp = $data[$i].Name  # works - but that's HARDCODING the column name into the script - what if someone changes it?
    #but what I want to do is
    $temp = $data[$i].$name_list[0]
    How do I do this in PowerShell?

    So you're asking how to get the first data point from the first column, no matter what the header is?
    Why won't you know what your input file looks like?
    You can always drop the first line of the file to remove the existing headers and then use the -Header parameter of Import-Csv to give yourself known headers to reference (this will only work if you know how many columns to expect, etc etc etc).
    http://ss64.com/ps/import-csv.html
    Don't retire TechNet! -
    (Don't give up yet - 13,085+ strong and growing)

  • Passing Arrylist from action class to jsp and parsing in jsp

    I need to do the following using struts
    I have input jsp, action class and action form associated to that. In the action class I will generate the sql based on the input from jsp page/action form, create a result set. The result set is stored as java objects in a ArrayList object.
    Now I need to pass the arraylist object to another jsp to display. Can I put the ArrayList object in the request object and pass to the success page defined for the action? If this approach is not apprpriate, please let me know correct approach.
    if this method is okay, how can I access the objects from arraylist in jsp and display their property in jsp. This java object is a java bean ( getter and setter methods on it).
    ( need jsp code)
    Can I do like this:
    <% ArrayList objList = (ArrayList)request.getattribute("lookupdata"): %> in jsp
    (***I have done request.setattribute("lookupdata", arraylistobj); in action class. ***)
    Assuming the java object has two properties, can I do the following
    <% for (iint i=0. i<objList.size;I++){ %>
    <td> what should i do here to get the first property of the object </td>
    <td> what should i do here to get the first property of the object </td>
    <% }
    %>
    if this approach is not proper, how can I pass the list of objects and parse in jsp?
    I am not sure what will be the name of the object. I can find out how many are there but i am not sure I can find out the name

    Double post.
    http://forum.java.sun.com/thread.jspa?threadID=5233144&tstart=0

  • Oracle ODBC and DAO extremely slow

    Hi
    I'm using Microsoft DAO 3.6 with an Oracle ODBC connection (version 9.2) in an VB6 application.
    Opening an updateable dynaset is extremely slow, I have measured the performance with Oracle ODBC, Microsoft Oracle ODBC and Microsoft SQL-Server ODBC as follows:
    Oracle ODBC: 1952 ms
    MS Oracle ODBC: 360 ms
    MS SQL-Server ODBC: 40 ms (connection to a MS SQL-Server)
    If I use the SQLpassthrough option the result is about 10 ms in all 3 cases, but the dynaset is readonly !
    The testing program is as follows:
    Option Explicit
    Private Declare Function timeGetTime Lib "winmm.dll" () As Long
    Private Sub Form_Load()
    Dim wsdata As DAO.Workspace
    Dim db As DAO.Database
    Dim dbconn As String
    Dim rs As DAO.Recordset
    Dim start As Long
    dbconn = "ODBC;DSN=AdhocitORA;UID=adhocit;PWD=adhocit;"
    Set wsdata = DBEngine.Workspaces(0)
    Set db = wsdata.OpenDatabase("", False, False, dbconn)
    start = timeGetTime
    Set rs = db.OpenRecordset("Select * from Afdeling", dbOpenDynaset)
    rs.MoveLast
    rs.MoveFirst
    rs.Close
    Set rs = Nothing
    MsgBox "Time " & timeGetTime - start
    End Sub
    Is there any setting in the Oracle ODBC, that need to be adjusted ??
    Erling

    Why are you doing a moveLast followed by a moveFirst? That's going to force Oracle to retrieve all the records in the recordset. If there are a lot of records, you'll probably see a benefit if you increase the prefetch in the Oracle ODBC DSN configuration.
    Justin

  • Downloading and parsing XML during preload

    Apologies if this topic has already been covered but the
    search function on the forums doesn't appear to be working for me.
    My problem is this. I have a flex app that needs to download
    a couple of xml files during initialization that are approximately
    2-3 MB each. I'd like for the progress bar to continue showing
    until the files are downloaded and parsed and only after the files
    are downloaded and parsed, would the components start to be
    rendered since some of them will require the files to determine
    their look and feel.
    Any ideas or places I should look to in order to figure this
    out?
    Thanks
    Sang

    Greg_B,
    You could try and access the XML file via a file:// URI rather than an http:// one - this would not need the server to be started in order to get the xml/dtd loaded. You know the relative path to the dtd and xml files, and you can create a File object from there, so you can parse the xml file that way if you like.
    Here's some code to help:
    String filename = getServletContext().getRealPath("myXML.xml");
    You can then pass the filename string as a parameter to the XML (I'm assuming you're using DOM but if you aren't I think you'll still get my point) parse method.
    You can do all of this in the servlet's init() method, so it'll do that before it all loads up.
    Hope it helps
    Daniel

Maybe you are looking for

  • How can I get a single jar file with NetBeans?

    How can I get a single jar file with NetBeans? When I create the project I get these files: dist/lib/libreria1.jar dist/lib/libreria2.jar dist/software.jar The libraries that have been imported to create the project are in separate folders: libreria1

  • [Acrobat X Pro] File locks and page counts when printing

    Hi, We have two users on Acrobat X Pro Win 7 X32. On both systems they have the following issues. 1) If they were to print only page 1 for example, they can set a page count of 5 copies and it would be fine. If later on they were to print page 10 and

  • IPod not showing up in iTunes source list

    Hi, My fifth gen iPod is not showing up in the iTunes source list. I've tried the troubleshooting recommendations (unistall and then reinstall iTunes, delete the iPod/bin file and then update iPod software, etc.) The only one I have not tried is rest

  • Report Conversion Tool in BI 4.1 SP2 not working from Client PCs

    Hi All, I am trying to convert some DeskI reports to WebI using report RCT 4.1 SP2. I'm converting the DekI reports in 4.1 direclty to WebI, so my source and destination is always going to be 4.1 I am able to select the reports to be converted and wh

  • Structures and Data

    hello, i have a question. i think i know the answer already just want to make sure with you gurus. someone told me that structures don ot contain data. but i have seen code where people enhance structures that are on LBWE screen. so if they append st