OO4O & VC++ 4.0

Hi,
I would like to use OO40 in a VC++ 4.0 project.
I am using the version 8.1.6.3.13 for OO4O and Oracle 8i 8.1.6 Release 2 for Database.
I have included the needed libraries.
I have tried to compile the project, and I have got a lot of compilation errors into oracl.h file, like these:
c:\orant81\oo4o\cpp\include\Oracl.h(751) : error C2501: 'bool' : missing decl-specifiers
c:\orant81\oo4o\cpp\include\Oracl.h(751) : error C2146: syntax error : missing ';' before identifier 'GetAutoCommit'
c:\orant81\oo4o\cpp\include\Oracl.h(752) : error C2061: syntax error : identifier 'bool'
c:\orant81\oo4o\cpp\include\Oracl.h(788) : error C2146: syntax error : missing ';' before identifier 'OValue'
c:\orant81\oo4o\cpp\include\Oracl.h(790) : error C2146: syntax error : missing ';' before identifier 'OValue'
c:\orant81\oo4o\cpp\include\Oracl.h(792) : error C2146: syntax error : missing ';' before identifier 'OValue'
c:\orant81\oo4o\cpp\include\Oracl.h(795) : error C2146: syntax error : missing ';' before identifier 'OValue'
c:\orant81\oo4o\cpp\include\Oracl.h(1717) : error C2146: syntax error : missing ';' before identifier 'OServer'
c:\orant81\oo4o\cpp\include\Oracl.h(1720) : error C2146: syntax error : missing ';' before identifier 'OServer'
c:\orant81\oo4o\cpp\include\Oracl.h(1752) : error C2146: syntax error : missing ';' before identifier 'OObject'
c:\orant81\oo4o\cpp\include\Oracl.h(1754) : error C2144: syntax error : missing ';' before type 'int'
c:\orant81\oo4o\cpp\include\Oracl.h(1826) : error C2501: 'bool' : missing decl-specifiers
I have read the documentation of this version of OO4O and I know that it isn't compatible with VC++ 4.0. So, I would like to know:
Which is the compatible version of OO4O with VC++ 4.0?
Where can I find it?.
Please reply also to my e-mail.
Thank you a lot.
Bye.
Raul Serrano
Cordial Iberia S.L
E-mail: [email protected]

OO4OからODP.Netに変更した理由としましては、64bit環境ではOO4Oは使用できないとあったためです。わたしもハマりました。コレ。
サーバーにマルチホームでOracle Client 32bitをインストールすることで対処しました。

Similar Messages

  • How can I deal with long sql by the oo4o?

    I am using VB and oo4o to develop a sql executor which is a extention of an old system.
    For some reason, I have to use oo4o v8.1.7 to deal with Oracle Database 8i to 11g.
    But when I send a very long sql(11KB) to it I got a error in the VB enviroment.
    The Err.Description is "automention error. Started object is disconnected by the client.".
    The Err.Number is "-2147417848 ".
    The sql that I send it to the program is a simple select sql that like select a, b, c, substrb(d, 1, 2), substrb(e, 2, 3) .... from A_TBL where A=aa;
    This sql is normally executed by the sqlplus but I got an error by the oo4o.
    When I insert a '' between the 30Xth items, it got exectuted normally.
    ex. select a, b, c, substrb(d, 1, 2), substrb(e, 1, 2) ..... substrb(303th, 3, 4), '', substrb(304th, 1, 2) ... from A_TBL where A = aa;
    How can I deal with this problem? Thanks.

    So how can use this function correctly?By learning what exceptions are, how they're used, and what you can do to deal with them. There's a tutorial here: http://java.sun.com/docs/books/tutorial/essential/exceptions/index.htmlAnd here's a quick overview:
    The base class for all exceptions is Throwable. Java provides Exception and Error that extend Throwable. RuntimeException (and many others) extend Exception.
    RuntimeException and its descendants, and Error and its descendants, are called unchecked exceptions. Everything else is a checked exception.
    If your method, or any method it calls, can throw a checked exception, then your method must either catch that exception, or declare that your method throws that exception. This way, when I call your method, I know at compile time what can possibly go wrong and I can decide whether to handle it or just bubble it up to my caller. Catching a given exception also catches all that exception's descendants. Declaring that you throw a given exception means that you might throw that exception or any of its descendants.
    Unchecked exceptions (RuntimeException, Error, and their descendants) are not subject to those restrictions. Any method can throw any unchecked exception at any time without declaring it. This is because unchecked exceptions are either the sign of a coding error (RuntimeException), which is totally preventable and should be fixed rather than handled by the code that encounters it, or a problem in the VM, which in general can not be predicted or handled.

  • Oracle 8i Lite - OO4O and other Questions

    1.) Can OO4O (Oracle Objects for OLE) be used with the Oracle 8i Lite database ?
    2.) Does Oracle 8i Lite operate as a "client/server" database ?
    3.) Is it possible to have multi-user access to Oracle 8i Lite ?
    4.) Is there documentation somewhere that lists all of the limitations with 8i Lite as compared to 8i ?
    We are in the planning stages of a partial mobile system, and want to know how much difference in development efforts for the 2 platforms (Oracle 8i on Win 2000 server and Oracle 8i Lite on NT/98/95 Laptops).
    Any information on Oracle 8i Lite would be appreciated. -- Especially need an answer to question 1 right now.
    Thanks,
    Paula

    Hi,
    I am qouting below from the oracle 8i Lite documentation which says it supports triggers . Please clarify.
    Oracle Lite DBMS
    Oracle Lite DBMS is a lightweight (50KB - 750KB), Java enabled database designed from the ground up for laptops, handheld computers, PDAs and smartphones. It supports industry standard ODBC, JDBC, SQLJ, and Java Stored Procedures and Triggers. It provides a streaming fast "C" interface, OKAPI, to its object kernel. It also supports Java Access Classes, JAC, a fast and easy way to make Java Objects persistent. Oracle Lite DBMS now supports all popular mobile platforms, including Palm OS, EPOC, and Windows CE, letting you deploy enterprise applications on virtually any mobile device.
    Regards
    null

  • What's wrong with OO4O and delphi

    I am trying usint OO4O to fetch the spatial data in delphi,but I can not use the opendatabase function.
    here is the code
    var
    OO4OSession:variant;
    OraDatabase:variant;
    begin
    OO4OSession:= CreateOLEObject('oracleInProcServer.XOraSession');
    OraDatabase:=OO4OSession.OpenDatabase('ExampleDb','scott/tiger', 0);
    end;
    the code is from the help.the error says that the opendatabase member function is not find.
    and when I trying to import type library of Oracle InProc Server 4.0 Type Library,when compile the unit,the error messages are like below
    [Error] OracleInProcServer_TLB.pas(2548): Undeclared identifier: 'CreateDatabase'
    [Error] OracleInProcServer_TLB.pas(2553): Undeclared identifier: 'OpenDatabase'
    [Error] OracleInProcServer_TLB.pas(2573): Undeclared identifier: 'Open'
    [Error] OracleInProcServer_TLB.pas(2578): Undeclared identifier: 'Close'
    [Error] OracleInProcServer_TLB.pas(2706): Undeclared identifier: 'Name'
    [Error] OracleInProcServer_TLB.pas(2712): Undeclared identifier: 'OpenDatabase'
    [Error] OracleInProcServer_TLB.pas(2717): Undeclared identifier: 'Client'
    [Fatal Error] dclusr50.dpk(41): Could not compile used unit '..\Imports\OracleInProcServer_TLB.pas'
    Realy strange,can some one help me on this ,Thank u very much.

    I would recommend you don't use oo4o from Delphi.
    Check out ODAC at www.crlab.com. This is a VCL library based on the OCI directly so you will not have the backwards compatibility woes that come with oo4o.
    A library is also available from the same company that doesn't need the Oracle Client installed.
    Hope this helps.
    Adrian

  • The question about RAW datatype in VBA with OO4O

    Hi all.
    I have developed a sort of VBA program with oo4o.
    When I issued "select rawtohex(saddr),saddr from v$session where rownum < 2" and I displayed the result on excel spread sheet.
    The result was below.
    RAWTOHEX(SADDR)      SADDR
    C0000000E14ADDF0     &#65533;
    I found I couldn't display a raw datatype result without using RAWTOHEX function.
    But, I query the table using "*",such as " select * from v$session" sometime. So I have to display the raw datatype result without using oracle function.
    I heard that the "RAW" datatype is a array of byte, so I used byte array.
    The following is my first idea and the result is wrong.
    The result is 'FF000000......', not 'C000000....'
    Is there any good idea?
    Dim oSession As Object
    Dim oDatabase As Object
    Dim oRs As Object
    Dim cntCol, cntRow As Long
    Dim rowNum, colNum As Long
    Dim sraw() As Byte
    Dim k As Integer
    Dim hexaString As String
    Set oSession = CreateObject("OracleInProcServer.XOraSession")
    Set oDatabase = oSession.DbOpenDatabase(gTargetServer, gUserID & "/" & gPasswd, 0&)
    Set oRs = oDatabase.DbCreateDynaset(gSqlString, 0&)
    cntCol = oRs.Fields.Count
    cntRow = oRs.RecordCount
    ReDim resData(cntRow, cntCol) ' the variant type array to store result
    'To store column title.
    For colNum = 0 To cntCol - 1
    resData(0, colNum) = oRs.Fields(colNum).Name
    Next colNum
    'To store data.
    For rowNum = 1 To cntRow
    For colNum = 0 To cntCol - 1
    Select Case oRs.Fields(colNum).Type
    Case 11
    sraw = oRs.Fields(colNum).Value
    For k = 0 To UBound(sraw)
    hexaString = hexaString & Hex(sraw(k)) '<= here.***********
    Next k
    resData(rowNum, colNum) = hexaString
    Case Else
    resData(rowNum, colNum) = oRs.Fields(colNum).Value
    End Select
    Next colNum
    oRs.MoveNext
    Next rowNum
    I hope I get helps.
    Bill.

    But, I query the table using "*",such as " select * from v$session" sometimeCan't you use
    select rawtohex(saddr) hexaddr, t.* from v$session t
    (if you really need '*' ) ?
    Rgds.

  • Oo4o release 10.1.0.5.1

    Hello every body,
    I have problem with oo4o release 10.1.0.5.0 april 2004 with windows 2003 server ... under heavy load it always causes the crash of IIS worker process w3wp.exe ...
    I read on metalink about new release of OO4O 10.1.0.5.1 Nov 2004 ... but unfortunately I could not find a way to download it from metalink nor from OTN ....
    the one avaiable on OTN is dated 5/5/05 however after I download it ... it was the same old release of april 2004 with oo4o 10.1.0.5.0
    PLEASE i NEED URGENT HELP BEFORE MARKET OPENS
    THANKS

    It is bound to be under the patches link on MetaLink. If you call support they can get you the actual patch/bug number so you can more easily find it.

  • OO4O Version 2.3 for Oracle 8.0

    All,
    Anyone has OO4O version 2.3 installation executable ? The oracle download no longer post this version.
    Thanks
    Trong Pham
    [email protected]

    Hi
    Where can I download the updated oracle intelligent agent?
    CanI use the oracle 9i cd that I have?
    Could I installed in the existing oracle 8.0.5 home?
    thanks

  • Accessing V$tables from within OO4O

    When trying to access the V$ tables (ie. V$SQLTEXT)
    by using the OO4O interface I get the error
    ORA-03106 Fatal two task communication protocol error
    when accessing 'ordinary' tables (ie. EMPLOYEES) the
    error does not accor
    any ideas on this one?
    null

    Hi Anil,
    I can only answer 1. and 2. (and would be interested into 3. as well):
    1.
    Yes you can access tables from a different schema and also HANA views. In this case no 'using' is needed.
    Examples:
        RESULT = SELECT
        FROM
              "SAP_ECC"."T441V" AS t,
              "_SYS_BIC"."tmp.package/AFPO" AS a.
        WHERE ...
    2. In this case, if you need schema mapping: You could use HANA (projection) views which just forward to a different schema, also see example.
    Best regards,
    Christoph

  • What type of exception to catch in OO4O

    I am new to OO4O.
    OStartup();
    session.Open();
    session.CreateDatabasePool(2, 3, 2000, "mastersf.world", "crawler", "jetcrawler", ODATABASE_DEFAULT);
    try {
    ODatabase odb = session.GetDatabaseFromPool(5000);

    sorry for the incomplete post ...
    Here is my code:
    OStartup();
    session.Open();
    session.CreateDatabasePool(2, 3, 2000, "mastersf.world", "crawler", "jetcrawler", ODATABASE_DEFAULT);
    try {
    ODatabase odb = session.GetDatabaseFromPool(5000);
    catch (WHAT_EXCEPTION_I_SHOULD_USE e) {
    When I try to catch the exception, what type I should use? I tried OException, it doesn't work.
    thanks.

  • Oo4o (Oracle 8i) and COM+

    Hi,
    We have an application which access Oracle 8i database using oo4o objects hosted in Windows 2000 COM+.
    Communicated with MS support and they told that MS is recommending 8.1.7.1.3 Oracle or above. Currently we have 8.1.7.0.0. The 0.0 version leaks memory a lot.
    Do any one knows about this?
    In addition we are using OraXML DOM/SAX parser. Does this leak memory as well?
    Randomly I am seeing that the number of in-call objects is rising up, but we do not get that much of simultaneous user activities. Looks like all the objects are trying to access something from the database and waiting indefinitely. By restarting COM+ we can teporarly solve this issue.
    Please help. Send me anything that will help us to solve this problem.
    Thanks,
    Hilmi.
    ([email protected])

    Evgeni, There is no problem. It is just that you will load a single system. Generally, in an n-tier appliation each layer resides on separate machines. But, that is not a hrad-and-fast rule.

  • SQL-Statement with OO4O

    Hello together,
    I post this Question here in
    Re: SQL-Statement with OO4O
    and i should paste my question again in an another database forum.
    now here again:
    I have here following Problem:
    Everthime I make a connection to my database with this code
    Set oSess = Server.CreateObject("OracleInProcServer.XOraSession")
    Set oDB = oSess.DbOpenDatabase(tnsname, user/PWD, 4)
    I get always this Statement in the DB-queue
    SELECT parameter, VALUE
    FROM SYS.nls_database_parameters
    WHERE parameter IN ('NLS_CHARACTERSET', 'NLS_NCHAR_CHARACTERSET')
    Can me anyone tell me why I get this statement and how I can disable it?
    Best Regards
    Andy

    Hi,
    What can you do/change?I must ask next week my boss when he is back,
    what kind of changes I can do.
    Can you add a PL/SQL call to DBMS_APPLICATION_INFO into application?my boss must give me the permission to do a call to DBMS_APPLICATION_INFO.
    A way to identify the source of the badly behaving code is required; whether that be within the DB or external of it.I think so too.
    So please wait, until I have talk with my boss, than I will give you the answer you want. Sorry.
    Any other ideas, what I can do without call/changes on the database to find the problem?
    Best Regards
    Andy

  • Oracle 11.2.0.1 & oo4o(32bit)で表関数を使用するとエラーとなる

    お世話になっております。
    通常サーバー: 
    asianux 3 (32bit) ,
    Oracle Database 10g Enterprise Edition Release 10.2.0.1.0,
    ビッグデータ用サーバー: 
    asianux 4 (64bit) ,
    Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit
    クライアント:
    Windows 7 (64bit)
    Excel 2010(32bit)
    Oracle Client 11.2.3(32bit)
    上記の環境で、いつもはクライアント側から、Excel & OO4O接続で、データを取得しています。
    SELECT ... FROM AA... といった通常のSQL文であれば、クライアント側から、通常サーバー、ビッグデータサーバーどちらに繋いでも
    データの取得は出来るのですが、
    SELECT * FROM TABLE( AA( XXXXX)) といった表関数を使用している物のみ、
    CreateDynaset()関数でエラーになってしまいます。
    実行時エラー: 80010108
    CreateDynasetメソッドは失敗しました。_IOraDatabaseオブジェクト
    Oracle x64+OO4Oでは、表関数は使用できないのでしょうか?
    ご存知の方は教えてください。よろしくお願いします。
    ※因みに、通常サーバーの方に select * from table(AA(xxx))
     するのはちゃんと取得できます。

    本件、自己解決しました。
    念のため、投稿しておきます。
    OO4O 11.2.0.3 + ORACLE 64bitへの接続でもデータはうまく取得できました。
    唯、SQLの書き方で、
    SELECT * FROM
    TABLE ( AAA(XXXX)) A
    INNER JOIN YYYY B ON A.CODE=B.CODE
    の書き方はNGで、
    SELECT * FROM
    TABLE(AAA(XXXX)) A ,
    YYYY B
    WHERE A.CODE=B.CODE
    は、何故かうまく取得できるようです。

  • ORACLE OBJECTS FOR OLE(OO4O) PERFORMANCE TUNING

    제품 : ORACLE SERVER
    작성날짜 : 1997-10-10
    ODBC의 경우는 Block단위로 data를 Query하는데 비해 OLE의 경우는 한번에 전체
    의 자료를 가져다가 Temporary storage space에 넣게 됩니다.
    그래서 튜닝을 위해서는
    Windows 3.1의 경우는 c:/windows/oraole.ini
    WIN95의 경우는 HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\OO4O
    parameters를 수정해야 합니다.
    만일 위의 File이 없는 경우는 모든 변수가 Default로 설정된 경우이므로 인스톨
    된 Help를 자세히 읽어보고 적용을 해야합니다.
    FetchLimit이 가장 큰 영향을 끼치는 파라미터로, 일반적으로 이 값이 클수록
    속도가 빨라지게 됩니다. 다음은 관련 자료입니다.
    Tuning and Customization
    A number of working parameters of Oracle Objects for OLE can be
    customized. Access to these parameters is provided through the Oracle
    initialization file, by default named ORAOLE.INI.
    Each entry currently available in that file is described below. The location
    of the ORAOLE.INI file is specified by the ORAOLE environment variable.
    Note that this variable should specify a full pathname to the Oracle
    initialization file, which is not necessarily named ORAOLE.INI. If this
    environment variable is not set, or does not specify a valid file entry, then
    Oracle Objects for OLE looks for a file named ORAOLE.INI in the Windows
    directory. If this file does not exist, all of the default values
    listed will apply.
    You can customize the following sections of the ORAOLE.INI file:
    [Cache Parameters]
    A cache consisting of temporary data files is created to manage amounts
    of data too large to be maintained exclusively in memory. This cache
    is needed primarily for dynaset objects, where, for example, a single
    LONG RAW column can contain more data than exists in physical
    (and virtual) emory.
    The default values have been chosen for simple test cases, running on a machine
    with limited Windows resources. Tuning with respect to your machine and
    applications is recommended.
    Note that the values specified below are for a single cache, and that a separate
    cache is allocated for each object that requires one. For example, if
    your application contains three dynaset objects, three independent data
    caches are constructed, each using resources as described below.
    SliceSize = 256 (default)
    This entry specifies the minimum number of bytes used to store a piece
    of data in the cache. Items smaller than this value are allocated the
    full SliceSize bytes for storage; items larger than this value are
    allocated an integral multiple of this space value. An example of an
    item to be stored is a field value of a dynaset.
    PerBlock = 16 (default)
    This entry specifies the number of Slices (described in the preceding
    entry) that are stored in a single block. A block is the minimum unit
    of memory or disk allocation used within the cache. Blocks are read
    from and written to the disk cache temporary file in their entirety. Assuming a SliceSize of 256 and a PerBlock value of 16, then the block
    size is 256 * 16 = 4096 bytes.
    CacheBlocks = 20 (default)
    This entry specifies the maximum number of blocks held in memory at any
    one time. As data is added to the cache, the number of used blocks
    grows until the value of CacheBlocks is reached. Previous blocks are
    swapped from memory to the cache temporary disk file to make room for
    more blocks. The blocks are swapped based upon recent usage. The total
    amount of memory used by the cache is calculated as the product of
    (SliceSize * PerBlock * CacheBlocks).
    Recommended Values: You may need to experiment to find optimal cache parameter
    values for your applications and machine environment. Here are some guidelines
    to keep in mind when selecting different values:
    The larger the (SliceSize * PerBlock) value, the more disk I/O is
    required for swapping individual blocks. The smaller the (SliceSize * PerBlock) value, the
    more likely it is that blocks will need to be swapped to or from disk.
    The larger the CacheBlocks value, the more memory is required, but the
    less likely it is that Swapping will be required.
    A reasonable experiment for determining optimal performance might
    proceed as follows:
    Keep the SliceSize >= 128 and vary PerBlock to give a range of block
    sizes from 1K through 8K.
    Vary the CacheBlocks value based upon available memory. Set it high
    enough to avoid disk I/O, but not so high that Windows begins swapping
    memory to disk.
    Gradually decrease the CacheBlocks value until performance degrades or
    you are satisfied with the memory usage. If performance drops off,
    increase the CacheBlocks value once again as needed to restore
    performance.
    [Fetch Parameters]
    FetchLimit = 20 (default)
    This entry specifies the number of elements of the array into which data
    is fetched from Oracle. If you change this value, all fetched values
    are immediately placed into the cache, and all data is retrieved from
    the cache. Therefore, you should create cache parameters such that all
    of the data in the fetch arrays can fit into cache memory. Otherwise,
    inefficiencies may result.
    Increasing the FetchLimit value reduces the number of fetches (calls
    to the database) calls and possibly the amount of network traffic.
    However, with each fetch, more rows must be processed before user
    operations can be performed. Increasing the FetchLimit increases
    memory requirements as well.
    FetchSize = 4096 (default)
    This entry specifies the size, in bytes, of the buffer (string) used for
    retrieved data. This buffer is used whenever a long or long raw column
    is initially retrieved.
    [General]
    TempFileDirectory = [Path]
    This entry provides one method for specifying disk drive and directory
    location for the temporary cache files. The files are created in the
    first legal directory path given by:
    1.The drive and directory specified by the TMP environment variable
    (this method takes precedence over all others);
    2.The drive and directory specified by this entry (TempFileDirectory)
    in the [general] section of the ORAOLE.INI file;
    3.The drive and directory specified by the TEMP environment variable; or
    4.The current working drive and directory.
    HelpFile = [Path and File Name]
    This entry specifies the full path (drive/path/filename) of the Oracle Objects
    for OLE help file as needed by the Oracle Data Control. If this entry cannot
    be located, the file ORACLEO.HLP is assumed to be in the directory where
    ORADC.VBX is located
    (normally \WINDOWS\SYSTEM).

    제품 : ORACLE SERVER
    작성날짜 : 1997-10-10
    ODBC의 경우는 Block단위로 data를 Query하는데 비해 OLE의 경우는 한번에 전체
    의 자료를 가져다가 Temporary storage space에 넣게 됩니다.
    그래서 튜닝을 위해서는
    Windows 3.1의 경우는 c:/windows/oraole.ini
    WIN95의 경우는 HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\OO4O
    parameters를 수정해야 합니다.
    만일 위의 File이 없는 경우는 모든 변수가 Default로 설정된 경우이므로 인스톨
    된 Help를 자세히 읽어보고 적용을 해야합니다.
    FetchLimit이 가장 큰 영향을 끼치는 파라미터로, 일반적으로 이 값이 클수록
    속도가 빨라지게 됩니다. 다음은 관련 자료입니다.
    Tuning and Customization
    A number of working parameters of Oracle Objects for OLE can be
    customized. Access to these parameters is provided through the Oracle
    initialization file, by default named ORAOLE.INI.
    Each entry currently available in that file is described below. The location
    of the ORAOLE.INI file is specified by the ORAOLE environment variable.
    Note that this variable should specify a full pathname to the Oracle
    initialization file, which is not necessarily named ORAOLE.INI. If this
    environment variable is not set, or does not specify a valid file entry, then
    Oracle Objects for OLE looks for a file named ORAOLE.INI in the Windows
    directory. If this file does not exist, all of the default values
    listed will apply.
    You can customize the following sections of the ORAOLE.INI file:
    [Cache Parameters]
    A cache consisting of temporary data files is created to manage amounts
    of data too large to be maintained exclusively in memory. This cache
    is needed primarily for dynaset objects, where, for example, a single
    LONG RAW column can contain more data than exists in physical
    (and virtual) emory.
    The default values have been chosen for simple test cases, running on a machine
    with limited Windows resources. Tuning with respect to your machine and
    applications is recommended.
    Note that the values specified below are for a single cache, and that a separate
    cache is allocated for each object that requires one. For example, if
    your application contains three dynaset objects, three independent data
    caches are constructed, each using resources as described below.
    SliceSize = 256 (default)
    This entry specifies the minimum number of bytes used to store a piece
    of data in the cache. Items smaller than this value are allocated the
    full SliceSize bytes for storage; items larger than this value are
    allocated an integral multiple of this space value. An example of an
    item to be stored is a field value of a dynaset.
    PerBlock = 16 (default)
    This entry specifies the number of Slices (described in the preceding
    entry) that are stored in a single block. A block is the minimum unit
    of memory or disk allocation used within the cache. Blocks are read
    from and written to the disk cache temporary file in their entirety. Assuming a SliceSize of 256 and a PerBlock value of 16, then the block
    size is 256 * 16 = 4096 bytes.
    CacheBlocks = 20 (default)
    This entry specifies the maximum number of blocks held in memory at any
    one time. As data is added to the cache, the number of used blocks
    grows until the value of CacheBlocks is reached. Previous blocks are
    swapped from memory to the cache temporary disk file to make room for
    more blocks. The blocks are swapped based upon recent usage. The total
    amount of memory used by the cache is calculated as the product of
    (SliceSize * PerBlock * CacheBlocks).
    Recommended Values: You may need to experiment to find optimal cache parameter
    values for your applications and machine environment. Here are some guidelines
    to keep in mind when selecting different values:
    The larger the (SliceSize * PerBlock) value, the more disk I/O is
    required for swapping individual blocks. The smaller the (SliceSize * PerBlock) value, the
    more likely it is that blocks will need to be swapped to or from disk.
    The larger the CacheBlocks value, the more memory is required, but the
    less likely it is that Swapping will be required.
    A reasonable experiment for determining optimal performance might
    proceed as follows:
    Keep the SliceSize >= 128 and vary PerBlock to give a range of block
    sizes from 1K through 8K.
    Vary the CacheBlocks value based upon available memory. Set it high
    enough to avoid disk I/O, but not so high that Windows begins swapping
    memory to disk.
    Gradually decrease the CacheBlocks value until performance degrades or
    you are satisfied with the memory usage. If performance drops off,
    increase the CacheBlocks value once again as needed to restore
    performance.
    [Fetch Parameters]
    FetchLimit = 20 (default)
    This entry specifies the number of elements of the array into which data
    is fetched from Oracle. If you change this value, all fetched values
    are immediately placed into the cache, and all data is retrieved from
    the cache. Therefore, you should create cache parameters such that all
    of the data in the fetch arrays can fit into cache memory. Otherwise,
    inefficiencies may result.
    Increasing the FetchLimit value reduces the number of fetches (calls
    to the database) calls and possibly the amount of network traffic.
    However, with each fetch, more rows must be processed before user
    operations can be performed. Increasing the FetchLimit increases
    memory requirements as well.
    FetchSize = 4096 (default)
    This entry specifies the size, in bytes, of the buffer (string) used for
    retrieved data. This buffer is used whenever a long or long raw column
    is initially retrieved.
    [General]
    TempFileDirectory = [Path]
    This entry provides one method for specifying disk drive and directory
    location for the temporary cache files. The files are created in the
    first legal directory path given by:
    1.The drive and directory specified by the TMP environment variable
    (this method takes precedence over all others);
    2.The drive and directory specified by this entry (TempFileDirectory)
    in the [general] section of the ORAOLE.INI file;
    3.The drive and directory specified by the TEMP environment variable; or
    4.The current working drive and directory.
    HelpFile = [Path and File Name]
    This entry specifies the full path (drive/path/filename) of the Oracle Objects
    for OLE help file as needed by the Oracle Data Control. If this entry cannot
    be located, the file ORACLEO.HLP is assumed to be in the directory where
    ORADC.VBX is located
    (normally \WINDOWS\SYSTEM).

  • Which driver provides "OraSessionClass.OpenDatabase" method ODBC or OO4O

    I've a windows app built in VB6.0 which is working fine in 32-bit machine and Oracle10g client. When my client tries to use it in a 64-bit machine and connects to Oracle11g 64-bit client the app doesn't work. I'm using "OraSessionClass" to connect to the db. I'm confused about which driver is my app using to connect to db OO4O 0r ODBC. If it is OO4O I read that there is some compatibility issue with oracle 11g 64-bit client. Is OO4O available with 64-bit client? If not, can I install 32-bit oracle11g client on a 64-bit machine get OO4O driver so that my app will work. Please suggest me in resolving this issue. Thanks a lot!!!"

    Hi,
    The code is using OO4O.
    There is no 64 bit version of OO4O.
    VB6 apps are 32 bit so need 32 bit Oracle client software.
    Using 32 bit OO4O on a 64 bit OS is not a supported supported configuration, but should work anyway.
    Hope it helps,
    Greg

  • Assign and OO4O resultset to an ADODB.recordset

    How do i assign an OO4O resultset obtained within and oraDynaSet object to an ADODB.recordset (without having to parse the dynaset and .addnew the adodb rs).
    help.

    They are not compatible objects as you already found out. Bookmarks are not interchangeable either.

  • TNS Error : ORA-12154 unsing oo4o with VB

    In VB6, using oo4o(Oracle InProc Server),
    whin I run debuging mode with VB6 App, result is successfull.
    But, compile this application, and execute EXE module,
    error occur 'Cannot resolve TNS Name (ORA-12154)'.

    Just make sure that the executable is not started from a directory path containing brackets (e.g. "C:\Program Files (x86)\MyApp\myapp.exe") but copy that executable to a directory path without brackets. The brackets in one of the directies in the path may lead to the Oracle exception "ORA-12154: TNS :could not resolve service name".

Maybe you are looking for