OCCI and globalization (getString)

Welcome again :-)
I have another problem now. I have a code
using namespace oracle::occi;
using namespace std;
int i;
int main (int argc, char **argv) {
    Environment *env = Environment::createEnvironment("US7ASCII","EE8ISO8859P2");
string txt;
int value;
    Connection *conn = env->createConnection("user", "pass", "db");
    Statement *stmt = conn->createStatement("SELECT sp_id, sp_skrot FROM gpw_spolki WHERE rownum <= 5");
    ResultSet *rs = stmt->executeQuery();
    for (int i=0; i<5; i++) {
     rs->next();
     value = rs->getInt(1);
     txt = rs->getString(2);
        printf("Spółka: %d %s\n",value,&txt);
    stmt->closeResultSet(rs);
    conn->terminateStatement(stmt);
    Environment::terminateEnvironment(env);
    return 1;
}and string read from database are not readable. Could someone tell me, what parameters should I put in createEnvironment method? My NLS_LANG is POLISH_POLAND.EE8ISO8859P2 and data inserted to database are so in iso8859-2.
Thanks in advance.

Environment::createEnvironment("US7ASCII","EE8ISO88592");What's the definition of your columns? varchar2? nvarchar2?
for (int i=0; i<5; i++) {
rs->next();Better to always write a while (rs->next()) loop IMHO.
printf("Spółka: %d %s\n", value, &txt);Try using txt.c_str() rather than &txt. printf is a vararg-based function, and as such it's untyped. Better to use C++ iostream in fact:
cout << "Spółka: " << value << " " << txt << endl;
But beware that you ask all varchar2 strings to be converted to 7-bit ASCII, so all you accented Polish chars and other Polish-specific chars may get garbled.
It all depends how your DB's Character Set and National Character Set are setup, as we discussed in another thread. --DD                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

Similar Messages

  • OCCI and non-blocking

    I'd like to use the OCCI interface in a non-blocking mode. Does anyone have any experience with this? Looks like I need to use a combo of OCI and OCCI calls to set the OCI_HTYPE_SERVER handle with the OCI_ATTR_NONBLOCKING MODE. However, my stmt->executeQuery() method seems to be throwing an exceptions, which I would have though would have been the OCI_STILL_EXECUTING error, but it's not. The exeception is an "ORA-32103 error from OCI call". If I continue to do another stmt->executeQuery(), I eventually get an access exception.
    Anyone have any code snippets using OCCI in non-blocking mode?

    I use threads. ACE/TAO to be precise.
    I have singleton class that manages the Oracle environment and connection as well as being a statement
    factory.
    Just have a thread perform your stmt->executeXXX() method and you will not need to worry about non-blocking.
    That's how I do it and it works well.

  • How to execute the *.sql when using occi  and vc

    help me!
    i must to initialize the remote database using the file of sql,
    for example:
    the file is ss.sql;
    and it is
    "DECLARE
    row integer := 0;
    user varchar2(256);
    BEGIN
    user := '&1';
    dbms_java.grant_policy_permission('PUBLIC', 'SYS',
    'java.lang.RuntimePermission', 'loadLibrary.*', row);
    dbms_java.grant_permission(user, 'SYS:java.lang.RuntimePermission',
    'loadLibrary.orawcom10', null);
    dbms_java.disable_permission(row);
    dbms_java.delete_permission(row);
    EXCEPTION
    WHEN OTHERS THEN
    IF row > 0 THEN
    dbms_java.disable_permission(row);
    dbms_java.delete_permission(row);
    END IF;
    RAISE;
    END;"
    i use the occi statement
    Environment * env;
    Connection * conn;
    Statement * stmt;
    env=Environment::createEnvironment(Environment::DefaultEnvironment);
    conn=env->createConnect(user_name,pwd,db_name);
    string sqlstmt=''BEGIN ss.sql;END";
    stmt=conn->createStatement(sqlstmt);
    it is wrong
    how do i change the sql statement???

    Hi,
    Instead of having the PL/SQL code as an anonymous block, you can create
    a procedure and then execute it through OCCI.
    For example:
    create or replace procedure my_proc
    is
    row integer := 0;
    user varchar2(256);
    begin
    --code here...
    end;
    I assume this code will be in ss.sql. Compile this procedure in
    your schema and then form the sqlstmt in OCCI this way:
    Statement *stmt = con->createStatement("BEGIN my_proc; END;") ;
    Rgds.
    Amogh

  • OCCI and Object Views

    Can you use OCCI with object views? Here is the problem that I am seeing:
    SCHEMA.SQL:
    CREATE TABLE EMP_TABLE
    empnumber NUMBER (5),
    job VARCHAR2 (20)
    CREATE TYPE EMPLOYEE_T as object
    empnumber NUMBER (5),
    job VARCHAR2 (20) )
    CREATE VIEW EMP_VIEW OF EMPLOYEE_T
    WITH OBJECT IDENTIFIER (empnumber) AS
    SELECT e.empnumber, e.job
    FROM EMP_TABLE e
    In the code, I try:
    env = Environment::createEnvironment(Environment::OBJECT);
    conn = env->createConnection(username, password, connection);
    RegisterMappings(env);
    Employee* e = new(conn,"EMP_VIEW")Employee(); //works
    Ref<Employee>e1=new(conn,"EMP_VIEW")Employee(); //fails
    Debugging the code, I get an access violation in the Ref constructor:
    template <class T>
    Ref<T>::Ref(const T *obj)
    rimplPtr = new RefImpl((PObject *)obj); // <==Access violation
    System specs:
    Windows 2000AS
    Oracle 9.2.0.4

    Sorry to be so long in replying, we decided to move back to objects without the views. Our DBAs were not happy, but sometimes that's how it goes. I did not want to have to go to using associative access for my object manipulation because it is not robust enough for real code, IMHO. So, I would rather do something that I can make work in the real world than have a database model that makes me write what I consider to be bad code. I do wish that OCCI would become more exception-safe as well as I wish that there were not cases where associative access worked but navigational access dod not.
    <rant>
    One observation about OCCI in general is that using associative access seems to be a bad idea in almost all real-world scenarios. Actually, most of the OCCI constructs seem to be less-than-optimally designed from a C++ perspective. Tossing raw pointers around is not the way toward robust software. And most of the constructs in OCCI do that and worse. None of the high level constructs like Environment, Connection, Statement, etc. are exception safe in any sense of the word. I have (like a lot of you, I'm sure) have had to write a layer on top of the base OCCI classes to enforce some level of exception safety. Not that its a big deal or anything, but just one more thing I would rather not have to do...
    </rant>

  • OCCI and ms vc++ (again)

    It would appear that a reccurent theme is compilation and linking problems with msvc6 and occi.
    I have resolved all those issues, but a slight one remains.
    I copy'n'pasted the 'OCCI in 8 lines only!' from oracle.com added the headers and the 'using namespace ...' and it compiled fine.
    But on env->createConnection I get a
    First-chance exception in occitestcon.exe (KERNEL32.DLL): 0xE06D7363: Microsoft C++ Exception.
    I have tried linking using both oraocci10.lib and oraocci10d.lib.
    Suggestions are most welcome.

    In the 10gR1 release on Windows, 3 compiler specific versions of the OCCI libraries are installed :-
    VC6 : oraocci10.lib under %ORACLE_HOME%\oci\lib\msvc & %ORACLE_HOME%\oci\lib\msvc\vc6. oraocci10.dll under %ORACLE_HOME%\bin & %ORACLE_HOME%\oci\lib\msvc\vc6
    VC7 : oraocci10.lib under %ORACLE_HOME\oci\lib\msvc\vc7. oraocci10.dll under %ORACLE_HOME\oci\lib\msvc\vc7.
    VC71 : oraocci10.lib under %ORACLE_HOME\oci\lib\msvc\vc71. oraocci10.dll under %ORACLE_HOME\oci\lib\msvc\vc71.
    Please ensure that you link with the appropriate oraocci10.lib and have the corresponding oraocci10.dll first in the PATH. Typically, %ORACLE_HOME%\bin will be first in the PATH.
    The 'd' versions (oraocci10d.lib/oraocci10d.dll) should be used if the debug version of the MSVC C-Runtime is going to be used (/MDd compiler flag).
    Regards.

  • OCCI and G++ 4.1.1

    Hello,
    I'm porting an existing Windows application to Linux, most of the work is done now and I just saw, while porting an Oracle connector, that OCCI requires libstdc++ 5 but G++ 4.1.1 uses version 6.
    I thought I could install libstdc++ 5 and link my application with it using G++ 4.1 but using 2 libc++ will probably make it to crash.
    I can use an alternative to OCCI to connect to Oracle but I think most implementations are based on OCCI. Pure Java version of JDBC could work perhaps but I think it not fully functional (blobs).
    I could use an older version of G++, but the code make an heavy use of C++ templates, I'm afraid the compiler will crash...
    I'm probably not the first person having this problem, but I didn't find any solution on Google. What is the best solution ?

    It does not matter what OS you use, you can only link OCCI with the STL that it was compiled with.
    Solaris version is compiled with libCstd.
    Linux x86 version is compiled with GNU g++ 3.4.3 and is compatible up to 4.0.x
    HP/UX version is compiled with HP aC++.
    With the above examples you can only use the default STL version, not STLport, Apache stdcxx or GNU g++ where it wasn't used.
    This thread is not about Solaris support so why bring that up?, it is about porting an application from Microsoft Windows to Linux, hopefully to a supported architecture.
    ( since Linux can run on things like ppc, sparc where there are no Oracle binaries available )
    /Lars

  • Need help with using occi and vc++ 2005 (express edition)

    Hi to all!
    I'm new here.
    I wan't to write a dll with connects over occi to oracle, but i don't know how!
    Did have anyone a good tutorial from beginning? Or a project for vc++ 2005?
    Thanks!
    Mike

    For building OCCI applications with VC++ 2005, you need to get the appropriate OCCI libraries from :-
    http://www.oracle.com/technology/tech/oci/occi/occidownloads.html
    OCCI samples, training materials and documentation is available from the OCCI homepage :-
    http://www.oracle.com/technology/tech/oci/occi/index.html
    Regards,
    Shankar

  • OVI Store and globalization

    Hi,
    just want to ask other user's opinion about the situation accessing OVI-store from a foreign country.
    At the moment the situation is like this: If you are in a foreign country, OVI-store redirects you to the local store. This means for example, if you are in China you will get a lot of Chinese apps, which is nice ..If I still could access my home country's store. But that's not the case.
    Even when I access through VPN of my home country the home store and send a link to my telephone, I cannot download the apps, as the store tells me that this software is not available in the local countries store.
    This means,ALL travelers or business men, who are in a foreign country for vacation, business or residence cannot use the OVI-store. But these are the people, who are most willingly to pay for apps. I guess NOKIA is missing a lot of revenue because of an old fashioned policy. However, if there are some legal issues for the access, then they should find an identification process, which confirms that the resp. Person is actually a citizen oif the country, which store he/she wants to access.
    I am a real hardcore NOKIA user since 1991. But now NOKIA forces me out, as I cannot download any apps of my home-store. I have tried many Android and the Iphone 4. But I am not satisfied, most of them cannot do, what my N8 can do, either they don't have a FM-transmitter or the camera and/or the flash is bad or they don't have a HD out for TV . Also the multi-tasking of the IPhone is lame lame lame (apps are sleeping in the background, but not really running). I could go on and on with that list. All that said, I can only say, hardware wise the N8 seems to be unbeatable in the market at the moment. BUT WITHOUT APPS STORE????
    How can I use it?
    Does someone know, if for example my friend in omy home country could download the apps, then create a SD-CARD backup and upload that backup to me. This would be a lot of work and bother me and my friend but for the time being it could be a work around.
    Anybody out there with a better IDEA?
    TIA
    RR

    Hi,
    I have the same problem, which is really annoying! I contacted nokia support some months ago for this problem - and got not even a reply!
    For the last software update working out correctly I needed to wait until holiday in another country to let it run there. it was not possible for me to proceed from the chineses interface.
    I only can access the chinese ovi story - and my n97 can not even show characters and I can not get a app for this here!
    Do you have any experience with this?
    And why should it not possible to be directed to the store for the country, which is selected in the user profle?
    Really good to start this topic here. Thank you! I already started thinking, that it is a user caused problem.
    Hope something will change soon.
    by-by
    diinchi

  • Oracle 9i OCCI and Oracle 8i Database

    Hi All
    I need to use OCCI on my client side. My database server runs on Oracle 8.1.6.0.0 . Is it possible to use OCCI (ie Oracle 9i) as mentioned?
    Prompt reply will be highly appreciated.
    Thank you
    Ronak Chokshi

    I have not seen 9i OCCI yet however, if Oracle's upgrades/new versions are consistent from 7.1 onwards, what you need to worry is to check only the SQL*NET setup, if you are using database server installed on different platform.(either via odbc or oracle's own ole (windows client)). If database is also on the same system, things would be very simple. SQL*NET can be tested using standard sql*plus executed from client side. In case of ODBC setup, odbc has its own test utility by which database can be queried. OTN site has detailed documentation on SQL*NET set up. Hope this helps??

  • Occi GetString causing a exception with ntdll.dll oracle 10g and MS 2005

    hi,
    I am getting an exception with using Visual Studio 2005(VC++8) and occi.h 10g client.
    When I run the release version I get an exception in ntdll.dll.
    The problem is in the getString(). The field in the oracle table is defined as a varchar2(300).
    I am new to oracle occi and need a solution because we cannot migrate to another version of the database.
    These are the solutions I have tried:
    download patches for MS Visual studio
    download patched for oracle 10g client
    Check that the charset it correct for std:string
    I see that others have had the same problem but no one has a solution. If anyone has a solution please email me because I have searched for days!
    Thanks
    Sheryl

    Aloha
    Thank you for your response, I am new to posting, occi and C++. Can I send you the files.
    Sorry didnt read this reply until today.
    The email is [email protected].
    This environment:
    1> windows xp
    2> MS Studio 5 VC++8
    3> OCCI 10.2.0.3.0 (patch 13)libraries for Microsoft Visual C++ 8
    4> I am using the Instant Client
    5> I am using /MD Multithreaded DLL
    6> Charset is oracle::occi::Environment::createEnvironment ("US7ASCII","AL16UTF16",Environment::DEFAULT);
    7> We running the application in release mode and getting this error with a bad memory reference on getString().
    I am getting a memory reference error on the getString(4).
    This is the code that is causing the error
    try
              string istmt ="SELECT FILE_ID,FILES.FTYP_ID,LTRIM(RTRIM(FILEPATH)),LTRIM(RTRIM(FILENAME)),TITLE FROM FILES,FILE_TYPES WHERE FILE_TYPES.EXTN = 'img'AND file_types.ftyp_id = files.ftyp_id AND FILES.HDR_SCAN_DATE IS NULL ORDER BY FILEPATH, FILENAME ";
              ResultSet * set = db->select(istmt);
              if (set == NULL)
                   LogT::Get()->log(Logger::LOG_LEVEL_INFO,"No file to process occured in : %s ", methodName.c_str());
                   return;
              LogT::Get()->log(Logger::LOG_LEVEL_INFO,"Did select in : %s ", methodName.c_str());     
              while (set->next())
                   LogT::Get()->log(Logger::LOG_LEVEL_INFO,"Doing a set next in : %s ", methodName.c_str());
                   if (set->isNull(1) || set->isNull(2) || set->isNull(4) || set->isNull(3))
                   LogT::Get()->log(Logger::LOG_LEVEL_INFO,"a value is null continue in : %s ", methodName.c_str());
                        continue;
                   try {
                        LogT::Get()->log(Logger::LOG_LEVEL_INFO,"About to get string 3 in : %s ", methodName.c_str());
                        std::string test(set->getString(3));
                        fname.assign(test);
                        LogT::Get()->log(Logger::LOG_LEVEL_INFO,"File name: %s in : %s ",fname.c_str(), methodName.c_str());
                   } catch (exception ex9) {     
                        LogT::Get()->log(Logger::LOG_LEVEL_ERROR,"Exception in get string msg: occured in : %s ",ex9.what(), methodName.c_str());
                        continue;
                   LogT::Get()->log(Logger::LOG_LEVEL_INFO,"getting int 1 in : %s ", methodName.c_str());
                   fid = set->getInt(1);
                   LogT::Get()->log(Logger::LOG_LEVEL_INFO,"getting string 4 in : %s ", methodName.c_str());
                   fn.assign(set->getString(4));
                   LogT::Get()->log(Logger::LOG_LEVEL_INFO,"after getting string 4 in : %s ", methodName.c_str());
                   //dont append a slash if not need
                   size_t pos = fname.find_last_of("\\");
                   if(pos != fname.length()-1)
                        fname.append("\\");
                   fname.append(fn);
                   LogT::Get()->log(Logger::LOG_LEVEL_INFO,"adding %s to map in : %s ",fname.c_str(), methodName.c_str());
                   fnames.insert (std::pair<unsigned int,std::string>(fid,fname));
    //               int ftype = set->getInt(2);
                   LogT::Get()->log(Logger::LOG_LEVEL_INFO,"got fid:%d, fname:%s fn: %s to map in : %s ",fid,fname.c_str(),fn.c_str(), methodName.c_str());
         catch (SQLException ex)
              LogT::Get()->log(Logger::LOG_LEVEL_ERROR,"Sql Exception code: %d message: %s occured in : %s ",ex.getErrorCode(),ex.getMessage().c_str(), methodName.c_str());
              db->exceptionHandler("SELECT PARAMS",ex.getErrorCode(),ex.getMessage());
              throw;
         catch (exception ex3)
              LogT::Get()->log(Logger::LOG_LEVEL_ERROR,"Exception occured message: %sin : %s ", ex3.what(),methodName.c_str());
              db->exceptionHandler("SELECT PARAMS",1,ex3.what());
              throw;
         catch (...) {
              LogT::Get()->log(Logger::LOG_LEVEL_ERROR,"Error occured in : %s ", methodName.c_str());
    This is the code for the select in occi
    /* Select statement for oracle occi*/
    void * OraDb::select(std::string& sqlStr,std::map<std::string,VALUES,classcomp> & val) {
         string methodName = "OraDb::select";
         ResultSet *selectRset;
         try {
              this->stmt->setSQL(sqlStr);
              this->bind(val);
              selectRset = this->stmt->executeQuery ();
              oracle::occi::Statement::Status res = this->stmt->status();
              while(res != oracle::occi::Statement::RESULT_SET_AVAILABLE) {
                   LogT::Get()->log(Logger::LOG_LEVEL_INFO,"the results set isnt ready");
                   res = this->stmt->status();
         catch (SQLException ex)
              LogT::Get()->log(Logger::LOG_LEVEL_ERROR,"Sql Error in %s code: %d Message:%s",methodName.c_str(),ex.getErrorCode(),ex.getMessage().c_str());
              //Add error to error log                          
              this->exceptionHandler(methodName,ex.getErrorCode(),ex.getMessage());
              throw;
         catch (exception ex3)
              LogT::Get()->log(Logger::LOG_LEVEL_ERROR,"Error in %s Message:%s",methodName.c_str(),ex3.what());
              this->exceptionHandler(methodName,1,ex3.what());
              //Add error to errorlog
              throw;
    return selectRset;
    This is the logs I get
    ParamsTb::selectImgParams
    in method OraDb::select this is the statement:SELECT FILE_ID,FILES.FTYP_ID,LTRIM(RTRIM(FILEPATH)),LTRIM(RTRIM(FILENAME)),TITLE FROM FILES,FILE_TYPES WHERE FILE_TYPES.EXTN = 'img'AND file_types.ftyp_id = files.ftyp_id AND FILES.HDR_SCAN_DATE IS NULL
    Did select in : FilesTb::selectImgFiles
    Doing a set next in : FilesTb::selectImgFiles
    About to get string 3 in : FilesTb::selectImgFiles
    File name: \\e1-stor\Backup Data\Backup Folder Archive (from e1-stor)\MOST-1_backup\CamIRa\fpa\384-for-MnM\ in : FilesTb::selectImgFiles
    getting int 1 in : FilesTb::selectImgFiles
    getting string 4 in : FilesTb::selectImgFiles
    after getting string 4 in : FilesTb::selectImgFiles
    adding \\e1-stor\Backup Data\Backup Folder Archive (from e1-stor)\MOST-1_backup\CamIRa\fpa\384-for-MnM\\foeHeaderAirplane.img to map in : FilesTb::selectImgFiles
    got fid:4766408, fname:\\e1-stor\Backup Data\Backup Folder Archive (from e1-stor)\MOST-1_backup\CamIRa\fpa\384-for-MnM\\foeHeaderAirplane.img fn: foeHeaderAirplane.img to map in : FilesTb::selectImgFiles
    Doing a set next in : FilesTb::selectImgFiles
    About to get string 3 in : FilesTb::selectImgFiles
    File name: \\e1-stor\Backup Data\Backup Folder Archive (from e1-stor)\MOST-1_backup\HFDS20080826\384-for-MnM\ in : FilesTb::selectImgFiles
    getting int 1 in : FilesTb::selectImgFiles
    getting string 4 in : FilesTb::selectImgFiles
    after getting string 4 in : FilesTb::selectImgFiles
    adding \\e1-stor\Backup Data\Backup Folder Archive (from e1-stor)\MOST-1_backup\HFDS20080826\384-for-MnM\\foeHeaderAirplane.img to map in : FilesTb::selectImgFiles
    got fid:4778728, fname:\\e1-stor\Backup Data\Backup Folder Archive (from e1-stor)\MOST-1_backup\HFDS20080826\384-for-MnM\\foeHeaderAirplane.img fn: foeHeaderAirplane.img to map in : FilesTb::selectImgFiles
    Doing a set next in : FilesTb::selectImgFiles
    About to get string 3 in : FilesTb::selectImgFiles
    File name: \\e1-stor\Backup Data\Backup Folder Archive (from e1-stor)\workstations\HFDS2-10-1-0-99\c\WINDOWS\system32\drivers\ in : FilesTb::selectImgFiles
    getting int 1 in : FilesTb::selectImgFiles
    getting string 4 in : FilesTb::selectImgFiles
    after getting string 4 in : FilesTb::selectImgFiles
    adding \\e1-stor\Backup Data\Backup Folder Archive (from e1-stor)\workstations\HFDS2-10-1-0-99\c\WINDOWS\system32\drivers\\netwlan5.img to map in : FilesTb::selectImgFiles
    got fid:4873869, fname:\\e1-stor\Backup Data\Backup Folder Archive (from e1-stor)\workstations\HFDS2-10-1-0-99\c\WINDOWS\system32\drivers\\netwlan5.img fn: netwlan5.img to map in : FilesTb::selectImgFiles
    Doing a set next in : FilesTb::selectImgFiles
    About to get string 3 in : FilesTb::selectImgFiles
    File name: \\e1-stor\Backup Data\Backup Folder Archive (from e1-stor)\workstations\rwolfshagen\c\Resp-C4\ in : FilesTb::selectImgFiles
    getting int 1 in : FilesTb::selectImgFiles
    getting string 4 in : FilesTb::selectImgFiles
    I dumped a few things from last night’s Dr. Watson run, shown below, which may help:
    manifest.txt
    Server=watson.microsoft.com
    UI LCID=1033
    Flags=1672016
    Brand=WINDOWS
    TitleName=ImgHeaderLoader.exe
    DigPidRegPath=HKLM\Software\Microsoft\Windows NT\CurrentVersion\DigitalProductId
    ErrorText=This error occurred on 6/25/2009 at 1:47:02 AM.
    HeaderText=ImgHeaderLoader.exe encountered a problem and needed to close.
    Stage1URL=/StageOne/ImgHeaderLoader_exe/0_0_0_0/ntdll_dll/5_2_3790_4455/0002b67d.htm
    Stage2URL=/dw/stagetwo.asp?szAppName=ImgHeaderLoader.exe&szAppVer=0.0.0.0&szModName=ntdll.dll&szModVer=5.2.3790.4455&offset=0002b67d
    DataFiles=C:\DOCUME~1\ndana\LOCALS~1\Temp\1\WER141d.dir00\ImgHeaderLoader.exe.mdmp|C:\DOCUME~1\ndana\LOCALS~1\Temp\1\WER141d.dir00\appcompat.txt
    Heap=C:\DOCUME~1\ndana\LOCALS~1\Temp\1\WER141d.dir00\ImgHeaderLoader.exe.hdmp
    ErrorSubPath=ImgHeaderLoader.exe\0.0.0.0\ntdll.dll\5.2.3790.4455\0002b67d
    DirectoryDelete=C:\DOCUME~1\ndana\LOCALS~1\Temp\1\WER141d.dir00
    appcompat.txt
    <?xml version="1.0" encoding="UTF-16"?>
    <DATABASE>
    <EXE NAME="ImgHeaderLoader.exe" FILTER="GRABMI_FILTER_PRIVACY">
    <MATCHING_FILE NAME="common.dll" SIZE="6656" CHECKSUM="0xA0D33EDD" MODULE_TYPE="WIN32" PE_CHECKSUM="0x8ADC" LINKER_VERSION="0x0" LINK_DATE="06/25/2009 00:44:47" UPTO_LINK_DATE="06/25/2009 00:44:47" />
    <MATCHING_FILE NAME="FileLoader.exe" SIZE="65536" CHECKSUM="0x15C68C49" MODULE_TYPE="WIN32" PE_CHECKSUM="0x16CC5" LINKER_VERSION="0x0" LINK_DATE="06/23/2009 02:29:33" UPTO_LINK_DATE="06/23/2009 02:29:33" />
    <MATCHING_FILE NAME="FileLoaderOriginal.exe" SIZE="65536" CHECKSUM="0x6672AE23" MODULE_TYPE="WIN32" PE_CHECKSUM="0x17E45" LINKER_VERSION="0x0" LINK_DATE="06/20/2009 03:34:40" UPTO_LINK_DATE="06/20/2009 03:34:40" />
    <MATCHING_FILE NAME="ImgHeaderLoader.exe" SIZE="118784" CHECKSUM="0xBA94D6AE" MODULE_TYPE="WIN32" PE_CHECKSUM="0x20F4B" LINKER_VERSION="0x0" LINK_DATE="06/24/2009 22:42:49" UPTO_LINK_DATE="06/24/2009 22:42:49" />
    <MATCHING_FILE NAME="x.exe" SIZE="65536" CHECKSUM="0x66982AE3" MODULE_TYPE="WIN32" PE_CHECKSUM="0x103FD" LINKER_VERSION="0x0" LINK_DATE="06/18/2009 23:55:27" UPTO_LINK_DATE="06/18/2009 23:55:27" />
    </EXE>
    <EXE NAME="ntdll.dll" FILTER="GRABMI_FILTER_THISFILEONLY">
    <MATCHING_FILE NAME="ntdll.dll" SIZE="774144" CHECKSUM="0x74ACB78F" BIN_FILE_VERSION="5.2.3790.4455" BIN_PRODUCT_VERSION="5.2.3790.4455" PRODUCT_VERSION="5.2.3790.4455" FILE_DESCRIPTION="NT Layer DLL" COMPANY_NAME="Microsoft Corporation" PRODUCT_NAME="Microsoft® Windows® Operating System" FILE_VERSION="5.2.3790.4455 (srv03_sp2_gdr.090203-1205)" ORIGINAL_FILENAME="ntdll.dll" INTERNAL_NAME="ntdll.dll" LEGAL_COPYRIGHT="© Microsoft Corporation. All rights reserved." VERFILEDATEHI="0x0" VERFILEDATELO="0x0" VERFILEOS="0x40004" VERFILETYPE="0x2" MODULE_TYPE="WIN32" PE_CHECKSUM="0xC2B9D" LINKER_VERSION="0x50002" UPTO_BIN_FILE_VERSION="5.2.3790.4455" UPTO_BIN_PRODUCT_VERSION="5.2.3790.4455" LINK_DATE="02/09/2009 11:02:56" UPTO_LINK_DATE="02/09/2009 11:02:56" VER_LANGUAGE="English (United States) [0x409]" />
    </EXE>
    <EXE NAME="kernel32.dll" FILTER="GRABMI_FILTER_THISFILEONLY">
    <MATCHING_FILE NAME="kernel32.dll" SIZE="1038336" CHECKSUM="0x7EFD9E0D" BIN_FILE_VERSION="5.2.3790.4480" BIN_PRODUCT_VERSION="5.2.3790.4480" PRODUCT_VERSION="5.2.3790.4480" FILE_DESCRIPTION="Windows NT BASE API Client DLL" COMPANY_NAME="Microsoft Corporation" PRODUCT_NAME="Microsoft® Windows® Operating System" FILE_VERSION="5.2.3790.4480 (srv03_sp2_gdr.090321-1244)" ORIGINAL_FILENAME="kernel32" INTERNAL_NAME="kernel32" LEGAL_COPYRIGHT="© Microsoft Corporation. All rights reserved." VERFILEDATEHI="0x0" VERFILEDATELO="0x0" VERFILEOS="0x40004" VERFILETYPE="0x2" MODULE_TYPE="WIN32" PE_CHECKSUM="0x101B44" LINKER_VERSION="0x50002" UPTO_BIN_FILE_VERSION="5.2.3790.4480" UPTO_BIN_PRODUCT_VERSION="5.2.3790.4480" LINK_DATE="03/21/2009 17:08:26" UPTO_LINK_DATE="03/21/2009 17:08:26" VER_LANGUAGE="English (United States) [0x409]" />
    </EXE>
    </DATABASE>
    THANKS!!!!!

  • What is the diffrence between OCI and OCCI?

    What is the diffrence between OCI and OCCI?

    Will Lee wrote:
    What is the diffrence between OCI and OCCI?Beside the other answers, there are a few additional points to consider:
    1) OCI is the "gold" standard API. New stuff is always available in OCI first, and only later trickles down to other APIs, like OCCI.
    2) OCI is a low-level API, harder to get started with, than OCCI. APIs in OCI are often "untyped", taking a void*, which opens the door for errors.
    3) In OCCI you set values, while in OCI you bind them. So OCCI takes a copy of your values, while OCI takes an address at which to later read the value. This opens the door to subtle bugs where you pass the address of a temporary in OCI, which later crashes in some mysterious ways. So OCCI is way safer in this regard.
    4) OCI is C code, which is very portable. Because OCCI is C++ code, and on Windows you can't easily mix and match libraries compiled with different versions of Visual C++ (VC6, 7, 8, 9), you have to wait for Oracle to make a new build with the latest MS compiler. Just see the number of questions on this OCI forum and the OCCI one.
    5) OCI is used internally by Oracle to write many of their own tools, it's the lingua franca between the Core DB group and the other groups. Since they use it themselves, it's much more stable that OCCI, which is mostly only used by outside customers.
    6) The way SQL objects are dealt with in OCI and OCCI is fundamentally different, to the point where you can't mix and match OCCI and OCI object calls.
    #1 above is one reason we had to abandon using OCCI, lacked support for the new in 11g BinaryXML, but that's just one example.
    IMHO OCI is the way to go, if you want the latest and greatest. Yes, it's more difficult to code against, so the learning curve is steeper, but once you've reached critical mass it's just fine. If you write code in C++ as opposed to C, you can easily make it a lot safer with a thin C++ layer on top which, unlike OCCI, still allows you access any OCI raw handle to do stuff the wrappers don't expose. My $0.02 ;-) --DD                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • Reason to explain these performances of odbc and occi...

    I wrote some simple test programs to compare the performances of odbc and occi accessing Oracle.
    These programs were wrote in C++. The occi and odbc were given under almost the same circumstance.
    The result is: when executing query(simple select) the odbc is fast than occi. When executing insert sentences, the occi is much more fast than odbc does.
    My computer environment: Oracle 10g, Oracle instant cilent, VS 8.0.
    Do they all access oracle through OCI interface? How to explain the result?
    Someone give me some hints , please.

    Hi,
    With the limited info available, I can't offer any specific suggestions that will help here.
    Usually sqlnet tracing is a good thing to check to see if maybe it's round trips causing the discrepency, packet/buffer sizes, query differnces, etc.
    Server side sql tracing is often useful as well to check bind types, query execution, etc.
    Yes, both Oracle's ODBC driver and OCCI are written in OCI, but they have completely different implmentations: array fetching, statement caching, buffer sizes, etc. Simply because they're both written in OCI doesnt mean they share an implmentation.
    Hope it helps,
    Greg

  • AQ and OCCI

    Hi!
    Env: Oracle 9.2, Linux Mandrake 8.2/Suse 8.1
    Is there a way to get OCCI work with AQ? There are no AQ classes that we can find and mixing OCCI and OCI (for AQ functions) results in SEGFAULTs in OCIAQEnq and OCIAQDeq (although, a message is enqueued before OCIAQEnq SEGFAULTs)
    TIA

    If you are using Object payloads, it wont work as OCCI processes Objects differently from OCI.

  • Data managers and database objects

    Hi,
    I'm considering replacing our current database interface libraries with OCCI. A couple of questions:
    - Are database objects such as tables and columns accessible as OCCI types eg.
    Table tbl;
    Column col;
    Note: I'm not interested in using Oracle user types at the database level here, unless there is no other way.
    - Is OCI programming also required or is the OCCI conclusive (I know it's built on OCI)?
    Regards,
    Michael

    - Are database objects such as tables and columns accessible as OCCI types
    No. Data types are represented as classes, but to run a query you execute a statement which returns a resultset which you query with functions like getInt(1) or getString(2) which returns an int for column 1 and a string for column 2. OCI style casting of dvoid**'s to objects is not necessary as OCCI gives you the object directly.
    - Is OCI programming also required or is the OCCI conclusive
    I assume you mean comprehensive, in the sense that it exposes the full range of OCI functionality. No, and I don't believe OCCI/OCI interoperability has been implemented yet either (ER 3169746 is still open for this feature), so unlike Pro*C where you can fill in the gaps with OCI code, you are limited to OCCI's limitations (unless you have separate OCCI and OCI parts in the same application, just replacing with OCCI the parts that can be replaced with OCCI).

  • String allocation in ResultSet::getString() issue

    Hi all :)
    I have been learning the basics of OCCI and I am having a
    problem with Debug mode in MSVC. When I retrieve a string from
    ResultSet::getString, and the string goes out of scope, I get an
    assert about an invalid heap pointer.
    I think that somehow the ResultSet object is setting the pointer
    inside of the string object in a way which would circumvent the
    list of allocations on the debug heap. So that when the string
    destructor is called, it tries to free the internal pointer, and
    asserts.
    Everything works correctly in Release mode.
    Is there any suggested way of handling this? Or is there a debug
    version of the OCCI?
    Here is the simplistic offending code:
    while (rs->next())
    string username = rs->getString(1);
    string passwd = rs->getString(2);
    } <--- asserts here
    Any help would be great :)
    Thanks,
    Gerald Fishel

    OCCI has multiple copies of libraries that work with different compiler versions. Please make sure you are using the appropriate version of dll. You can search for this topic on OCCI forum.
    C++ Call Interface (OCCI)

Maybe you are looking for

  • Small Biz DR plan

    Hi guys, I need to implement a Disaster Recovery (avoidance) plan for my small business. We did some research and I think found an awesome solution for under $1000 (Aussie dollars) but would value your feedback. In the office, we have 1x PB (1.5GHz P

  • How do I prevent firefox from switching tab groups when closing a tab?

    I really like the tab groups feature, as it helps cut down on the number of tabs I have open at once. The problem is that when I close a tab, I sometimes get shunted to another random tab group. It is then a pain to get back to where I was before. Is

  • How do i get the musci off my phone and in my Itunes again.

    had to rebuild the computer lost all music. and want to get it off my phone back to itunes. how do i do this.??

  • Problem with cropping

    I am having trouble cropping.  When ever I set the crop to where I want it, it changes.  Even when I repeat the process several times I still cannot get the crop to stay where I want it.  Thanks

  • Is anyone else having trouble with reminders being automatically deleted/changed in ios7?

    Since upgrading to ios7, I've noticed the reminders app decides randomly to delete certain entries, duplicate entries and even change alert times - which is really quite disconcerting if you rely on this app as I do (or did in ios6 anyway......) Anyo