OO4O Vs ADO ?

Hi
I am planning to use OO4O for my application. But, since it doesnt support Crystal reports, I am forced to create two sessions for each user(one for OO4O-appn. and other for ADO-Crystal Report) currently logged in my application.
Is there any other solution, to address my problem. Otherwise, I have to stick with this (dirty...!!) method.

Global temporary tables only have session-level scope. That is, if I insert a bunch of rows in session 1, session 2 won't be able to read those rows. Crystal Reports won't be able to see changes made to a GTT by your OO4O code.
Create & populate a temporary table in one session:
scott@jcave > create global temporary table temp2 (
  2    col1 number )
  3  on commit preserve rows;
Table created.
Elapsed: 00:00:00.00
scott@jcave > insert into temp2 values (3);
1 row created.
Elapsed: 00:00:00.00
scott@jcave > insert into temp2 values (4);
1 row created.
Elapsed: 00:00:00.00
scott@jcave > insert into temp2 values (5);
1 row created.
Elapsed: 00:00:00.00
scott@jcave > commit;
Commit complete.
Elapsed: 00:00:00.00
scott@jcave > select * from temp2;
      COL1
         3
         4
         5
Elapsed: 00:00:00.00Now try to read from the temporary table in another session:
scott@jcave > select * from temp2;
no rows selected
Elapsed: 00:00:00.00I will defer to someone with more experience with Crystal Reports to answer the second part of your question. It's been a while since I've used any of their controls in an application.
Justin
Distributed Database Consulting, Inc.
www.ddbcinc.com/askDDBC

Similar Messages

  • ADO Performance vs OO4O Performance

    I have managed to get OO4O to outperform ADO in returning a resultset. I have not managed to get OO4O to outperform ADO in executing a PLSQL Procedure. I will place my vb code below. Right now my ADO code is performing 8 times faster than my OO4O code.
    Chris
    Dim dsess As OraSession
    Dim dbase As OraDatabase
    Dim dParams As OraParameters
    Dim p_return As String
    'Create the OraSession Object.
    Set dsess = CreateObject("OracleInProcServer.XOraSession")
    'Create the OraDatabase Object by opening a connection to Oracle.
    Set dbase = dsess.OpenDatabase(tnsString, loginString, 4)
    Set dParams = dbase.Parameters
    dParams.Add "P_RETURN_TX", P_RETURN_TX, ORAPARM_OUTPUT, 1
    dParams.Add "P_START_NO", 1, ORAPARM_INPUT, 2
    dParams.Add "P_COUNT_NO", 10, ORAPARM_INPUT, 2
    dParams.Add "P_USER_LOGON_TX", USER_LOGON, ORAPARM_INPUT, 1
    dParams("P_RETURN_TX").MinimumSize = 10000
    dbase.ExecuteSQL ("Begin TOPS_PCK.LIST(:P_RETURN_TX, :P_START_NO, :P_COUNT_NO, :P_USER_LOGON_TX); end;")
    p_return = dParams("P_RETURN_TX").Value
    dParams.Remove "P_RETURN_TX"
    dParams.Remove "P_START_NO"
    dParams.Remove "P_COUNT_NO"
    dParams.Remove "P_USER_LOGON_TX"
    dbase.Close
    Set dbase = Nothing
    Set dsess = Nothing
    getSP = p_return

    Does the ratio hold true if you include only the procedure call and eliminate the COM invocation and intialization code (in other words remove the database and session initialization code)?
    I imagine the overhead to initialize OO4O might be more.

  • ORACLE 8i/ASP/ODBC/ADO/OO4o/XML

    I want to call Oracle 8i stored function
    to insert data into a database.
    Does anybody know the syntax.
    I am trying to use
    Set Conn = Server.CreateObject("ADODB.Connection")conn.Open "p2k","peltyszw","welcome"
    set cmd=server.CreateObject("ADODB.Command")
    cmd.CommandType=4
    cmd.CommandText="declare x integer:=0;BEGIN x:=sp_ww; END;"
    cmd.ActiveConnection=conn
    set p1=cmd.CreateParameter("user_id",200,1,30,13)
    cmd.Parameters.Append p1
    set p2=cmd.CreateParameter("query_name",200,1,30,"dk")
    cmd.Parameters.Append p2
    set p3=cmd.CreateParameter("sql_string",200,1,30,"select * from Project")
    cmd.Parameters.Append p3
    set p4=cmd.CreateParameter("query_id",200,1,30,13)
    cmd.Parameters.Append p4
    'set p5=cmd.CreateParameter("retval",adBSTR,adParamOutput,300,2)
    'cmd.Parameters.Append p5
    cmd.execute
    conn.close
    set conn=nothing
    cmd.Cancel
    set cmd=nothing
    I tried using 0040. But no success.
    Thanks
    null

    The connection problem was resolved today.
    When the server was set up, there were two partitions created.
    A C drive for the system and a D drive for the applications.
    Permissions for "Everyone" had not been granted on the
    application drive D.
    Once permissions were granted to "Everyone" for all folders and
    files on drive D, ASP / ADO / IIS 5 had no problem finding the
    appropriate Oracle native ODBC driver dll file(s) or OLE DB dll
    (s).
    This problem did not arise on the test server since FAT has been
    used as the file system. NTFS is more particular with regards
    to file / folder security.

  • OO4O with ATL Interface.

    Hi,
    I am writting a ATL Dll having interface and methods. I am trying to return _IOraDatabasePtr object to VB Client object OraDatbase.
    Please, find following code.
    Please, tell this is not possible to return _IOraDatabasePtr through ATL Interface.
    Is there any other method to return interface. I am able to return ADO _Recordset interface properly in another project.
    Regards,
    Vikas Mishra
    [email protected]
    STDMETHODIMP CGetOO4OConn::GetOO4oConn(_IOraDatabasePtr *m_odb)
         // TODO: Add your implementation code here
         HRESULT hr = S_OK;
         CoInitialize (NULL);
         IOraSessionPtr mpOraSession= NULL;
         m_odb= NULL;
         hr = m_pOraSession.CreateInstance(CLSID_OraServerClass ,0, CLSCTX_INPROC_SERVER);
         if( SUCCEEDED( hr ) )
    hr = m_pOraSession->CreateDatabasePool (1,10,100,_bstr_t("xyz"), bstrt("xyz/xyz"), 0);
    m_odb = m_pOraSession->get_GetDatabaseFromPool (10);
         CoUninitialize ();
         return hr;
    }

    If you are using C# then I would not use oo4o.
    Use the Oracle Data Provider for .NET.
    It's in the downloads section.
    Adrian

  • Clob DataType, NULL and ADO

    Hello,
    First, I'm french so my english isn't very good
    I have a problem with Oracle Clob DataType. When I try to put NULL value to
    CLOB DataType with ADO, changes aren't not made.
    rs.open "SELECT ....", adocn, adOpenKeyset, adLockOptimistic
    rs.Fields("ClobField") = Null ' In this case, the Update doesn't work
    rs.update
    rs.Close
    This code works if I try to write a value which is different than Null but
    not if is equal to Null. Instead of having Null, I have the old value
    (before changes), the update of the field doesn't work.

    I experience the same, did you find a solution to your problem?
    Kind regards,
    Roel de Bruyn

  • Alterar cor de um calçados

    Tenho um calçados em uma cor preta e preciso substituir sua cor, achei vários tutorias de como substituir a cor de carros, e consegui adapta-las para o que preciso, porem a nova cor é de um couro escaneado e não uma cor padrão do photoshop...
    Tb estou tendo dificuldade para separar da seleção a costura já que a cor é preta e a costura tb, esta ficando difícilA separa-las

    Tenho um calçados em uma cor preta e preciso substituir sua cor, achei vários tutorias de como substituir a cor de carros, e consegui adapta-las para o que preciso, porem a nova cor é de um couro escaneado e não uma cor padrão do photoshop...
    Tb estou tendo dificuldade para separar da seleção a costura já que a cor é preta e a costura tb, esta ficando difícilA separa-las

  • Aparece no meu ipod touch que o numero maximo de contas alcançado mais nao sei quais sao elas pode apagar?, aparece no meu ipod touch que o numero maximo de contas alcançado mais nao sei quais sao elas pode apagar?

    Eu tenho um ipod touch 3 geraçao nele aparece que o numero maximo de contas foi alcançado mais nao sei quais sao o nick nen senha quero apagalas oque devo faser?
    Muito obrigado!

  • The ADO NET Source was unable to process the data. ORA-64203: Destination buffer too small to hold CLOB data after character set conversion.

     We developed a SSIS Package to pull the data From Oracle source to Sql Server 2012. Here we used ADO.Net source to pull the records from Source but getting the below error after pulling some 40K records.
      [ADO NET Source [2]] Error: The ADO NET Source was unable to process the data. ORA-64203: Destination buffer too small to hold CLOB data after character set conversion.
    [SSIS.Pipeline] Error: SSIS Error Code DTS_E_PRIMEOUTPUTFAILED. 
     The PrimeOutput method on ADO NET Source returned error code 0xC02090F5. 
     The component returned a failure code when the pipeline engine called PrimeOutput(). 
    The meaning of the failure code is defined by the component, 
    but the error is fatal and the pipeline stopped executing. 
     There may be error messages posted before this with more 
    information about the failure.
    Anything that we can do to fix this?

    Hi,
      Tried both....
      * Having schema type as Nvarchar(max). - Getting the same error.
      * Instead of ADO.Net Source used OLEDB Source with driver as " Oracle Provide for OLE DB" Getting error as below.
           [OLE DB Source [478]] Error: SSIS Error Code DTS_E_OLEDBERROR.  An OLE DB error has occurred. Error code: 0x80004005.
           [SSIS.Pipeline] Error: SSIS Error Code DTS_E_PRIMEOUTPUTFAILED.  The PrimeOutput method on OLE DB Source returned error code 0xC0202009.  The component returned a failure
    code when the pipeline engine called PrimeOutput(). The meaning of the failure code is defined by the component, but the error is fatal and the pipeline stopped executing.  There may be error messages posted before this with more information about the
    failure.
    Additional Info:
       * Here the Source task is getting failed not the conversion or destination task.
    Thanks,
    Loganathan A.

  • Instead of trigger with ADO - once again

    since everyone seems to ignore my last 2 posts, i thoght of tring one more time.
    before i give up the use of instead of updates and redesign the system, which really sux.
    i dont understand why i can get a response from the oracle team..
    do i have to open a tar for you guys to respond?
    im using ole db provider 9.0.1
    with mdac 2.7 on a win 2k system
    db ver: 8.1.7
    anyway, i have a simple view, no lob fields, all number and varchar2
    and it has an instead of update, that for this example ill say it does nothing,
    print a message to the output, for example, cause the bug occurs ether way.
    so when i use insert on SQL plus it works fine
    but when i use ADDNew with ADO it generates: ORA-22816
    ive searched on otn & metalink and all i could find was a similar problem on JDEVELOP (i think)
    the problem was that the add new is translated to INSERT ... RETURNING, and the RETURNING clause is
    not supported by instead of updates or something like that
    this is really important to me and i must find a solution.
    is there a switch, attribute or a property i can set to turn off the returning clause?
    or a fix in the ole db 9.2 provider?

    since everyone seems to ignore my last 2 posts, i thoght of tring one more time.
    before i give up the use of instead of updates and redesign the system, which really sux.
    i dont understand why i can get a response from the oracle team..
    do i have to open a tar for you guys to respond?Please note that the OTN forums are not official methods for receiving technical support from Oracle. Some forums happen to be monitored by folks from Oracle, but the intention of OTN is to provide a forum for engineers to communicate with other engineers. I would strongly suggest opening a TAR with Oracle support if you want to communicate with Oracle support.
    Justin

  • Character sets and ado

    I have a table with a clob field on an Oracle 8.1.7.4 database. When querying the clob field via odbc and ado the value is truncated. The Oracle server and client are using a WE8ISO8859P1 character set. Has anyone come across this before.
    Thanks.

    I believe the data should be able to be represented by IS0-8859. The data is a long random string of characters that represents a fingerprint image.
    We seem to only get 996 characters back from the database. If I do a getchunk on the data then I get 996 characters of data, then 996 NULLS, then 996 characters of data and so on. The 996 NULLS should be data.
    The data is in the database because I can do a dbms_lob.substr and get the correct info back.

  • Oracle and ADO

    I have a problem I just can't work out. I am working on a web project in ASP. I am fetching data from an Oracle 8i database. I use simple ADO recordsets to retrieve the wanted information. The connection is set up
    using a system DSN. The problem I have encountered is the following:
    -I have fields in my tables that contains decimal data. I use the datatype
    NUMBER(6,2) for several of them.
    -When I try to retrieve these values from an ADO recordset in ASP, the
    decimals are left out. I have done the exact thing
    before with a great result.
    Why are the decimals left out? If I query the tables using any Oracle tools,
    the decimals are there. When I try to retreive the values, using ADO
    recordsets in an ASP application, they are gone!!
    Please, I need some help!!
    Best regards
    Henning

    Is there anything different about the machine that you're having this failure on as compared to the machines you've done it successfully on?
    If there's nothing obvious, you can try making sure you have the latest MDAC and ODBC driver. You can grab the MDAC 2.6 from <http://www.microsoft.com/data> and the latest Oracle ODBC driver from OTN. If that doesn't solve the problem, are there any differences in the Windows or NLS language settings? If one thinks the decimal point is a period (.) and the other thinks it's a comma (,) there can be issues.
    Justin

  • ODP and ADO and a trigger - problem

    I have written a simple trigger to turn on tracing for a session based on the username:
    It works fine through sqlplus. The application works when run using JDBC and native(?) java. But when we use hibernate and ODP.net and ADO.net The session goes into a loop of recursive sql and gets an ORA-36 too many recursive levels. I am not a java developer and I am at a loss on how to proceed. It appears to be firing the trigger or have fired the trigger, and then look for global_db_name until it dies.
    CREATE OR REPLACE TRIGGER gopal_user_login_trigger
    AFTER LOGON ON DATABASE
    DECLARE
         user_name VARCHAR2(30);
    BEGIN
    SELECT username INTO user_name FROM sys.V$SESSION
    WHERE audsid = USERENV('SESSIONID') AND audsid != 0 ;
    IF UPPER(user_name) = 'GOPALASSETUSER'      
    THEN
         DBMS_MONITOR.SESSION_TRACE_ENABLE(NULL, NULL, true, true);
    END IF;
    EXCEPTION
    WHEN NO_DATA_FOUND then null;
    END;

    Hi,
    Thanks for the bug number - that helped alot.
    Why the global_db_name lookup, I do not know. It appears to be part of the logon processing that follows the trigger.It is, indeed, part of the logon process and is called by internal code so that makes sense now.
    If you have MetaLink support, I would recommend opening an SR. One simple thing that I might suggest is to set "enlist=false" in your connect string if you can and test with that.
    Thanks,
    Mark

  • LONG datatype and ADO

    How LONG column value could be retrieved in ADO ?
    I am using OLE DB provider v. 9.2.0.2 and it returns only first 100 symbols when using Value property of Field object or GetChunk method.
    Thanks

    By default, ChunkSize is set to 100 bytes. You may set this property to a value between 1 and 65535 in your Connection string or registry under OLEDB subkey.
    for example, ChunkSize=65535
    Details as the OraOLEDB doc.

  • CLOB and ADO

    I have a table with a CLOB field that I need to retrieve using ADO 2.5 and OLEDB Provider for Oracle, 'MSDAORA.1'.
    Everytime, I try to open up the table and get the following error, 'Data Type Is Not Supported'.
    Thanks.

    post this on the odbc or oledb forum.
    this is a java forum

  • Limitation on SQL executing select statement from ADO and Oracle 8.1.7.1 OleDB Driver

    Hi,
    we are running a query with a big dunamic select statement from VB code using ADO command object. When Execute method is called system hangs and control won't return back to the application. it seems to be that there is some type limitation on Query string length. Please tell us if there is any?
    we are running Oracle 8.1.7 Server on Windows 200 Server and connecting from a W2K professional, ADO 2.6 and Oracle OLEDB 8.1.7.1 OLEDB Driver.
    Sample code:
    Dim rs As ADODB.Recordset
    Dim cmd As ADODB.Command
    Set cmd = New Command
    With cmd
    .CommandText = ' some text with more than 2500 characters
    .CommandType = adCmdText
    Set rs = .Execute
    End With
    when i debug using VB6 and when .Execute line is called system hangs or return a message method <<somemethod> of <<some class name>> failed error.
    Any help is appreciated.
    Thanks,
    Anil

    A stored procedure would only slow you down here if it was poorly written. I suspect you want to use the translate function. I'm cutting & pasting examples from the documentation-- a search at tahiti.oracle.com will give you all the info you'll need.
    Examples
    The following statement translates a license number. All letters 'ABC...Z' are translated to 'X' and all digits '012 . . . 9' are translated to '9':
    SELECT TRANSLATE('2KRW229',
    '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ',
    '9999999999XXXXXXXXXXXXXXXXXXXXXXXXXX') "License"
    FROM DUAL;
    License
    9XXX999
    The following statement returns a license number with the characters removed and the digits remaining:
    SELECT TRANSLATE('2KRW229',
    '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ', '0123456789')
    "Translate example"
    FROM DUAL;
    Translate example
    2229
    Also, LIKE '%<string>%' is going to be rather expensive simply because it has to compare the entire string and because it forces full table scans, rather than using indexes. You could speed this sort of query up by using interMedia Text (Oracle Text now in 9i). If you can eliminate one of the '%' options, you could also improve things.
    My guess is that your stored procedure is inefficient and that's causing the problem-- 5k rows per table should be pretty trivial.
    If you post your query over on the PL/SQL forum, there are better performance tuners than I that might have more hints for you. To get really good advice, though, you'lllikely have to get at least the execution plan for this statement and may need to do some profiling to identify the problem areas.
    Justin

Maybe you are looking for

  • Problem with queue and context change JAVA udf

    Hi all, MY scenorio is from source i get multiple instances and each instance i need to pass to different fields od target in one source instance i may get multiple values which i have to create multple nodes under one target instance. my source xml

  • HT4061 when I click on the itunes icon on my desk top it says that it is corrupt or installed wrong

    how do i uninstall the itunes on my desk top computer and then reinstall it.  when I click on the current itunes icon it says it's corrupt or install wrong but we've been using this icon for quite some time

  • RFBIBL00 smaple program

    Hi, I want to use this program in my own Z program. Can someone provide me the step-by-step procedure (How file will be created and sent to Application Server etc) to use this program and as well as sample program for this. I have already read the he

  • Use JNI to Read C++ Structure from a Socket

    Hi all, I'm new to JNI and I have a problem for reading a tcp stream from a C++ server in my Java client. Does someone now if it's possible to use JNI to "cast" my tcp stream (array of byte) in a java structure (class of data) ? I've heard about Stru

  • Need best practice: one application or many?

    We have a database and are going to build GUI using ApEx The question is: should we create many applications - one for every task (or group of tasks / user roles) or create one large application (hundreds of pages) Why?