Oracle ODBC driver and TIMESTAMP with timezone

Does anyone know if it is possible to return data from a "TIMESTAMP WITH TIMEZONE" column using the Oracle ODBC driver and an ADO Recordset?
I am using the Oracle driver version 10.2.0.2 and TIMESTAMP fields work fine.
I can call Recordset->Open() with a query like "SELECT * FROM TABLE" when the table contains a column of type timestamp with timezone but when I execute a statement to see if there are results as in
if (!(srcRecsetPtr->BOF && srcRecsetPtr->EndOfFile))
my application throws an unhandled exception and exits. The exception is not a COM exception and I'm not sure how to get back additional information if that's possible.
The only information I've been able to find in searching TechNet and MetaLink is that a workaround is to wrap the columns in a TO_CHAR or TO_DATE conversion first but that's not a good solution for my problem since I am executing user specified SQL which may join multiple tables.
I've found one other note that says the documentation should be corrected and that these fields are NOT supported period (Bug #4011640).
I've experimented with the Bind Timestamp as Date option in the ODBC connection and with various ALTER SESSION settings to attempt to change the NLS_TIMESTAMP_TZ_FORMAT but I have been unable to get past the problem.
Any ideas are greatly appreciated.
Thanks,
Troy

Hi Justin
Thanks for your help.
I tried what you mentioned and I could connect myself via SQL*Plus without passing a password and a login, Extern authentification seems to work and my user seems to be right configurated.
But he problem goes on via ODBC. When I test connection in the ODBC Data Source Administrator of Windows XP, test fails and seems to forbid connection without userID and password. When I try to connect via ODBC in my program the same problem appears : "Unable to connect SQLSTATE=28000 [Oracle][ODBC][ORA]Ora-01017: Invalid username/password;logon denied" I could not connect in this way.. What's wrong ?

Similar Messages

  • Setting up an Oracle ODBC Driver and Essbase

    Hi all,
    I am trying to retrieve data directly from Essbase into SAS (Statistical Analysis Software) by setting up an Oracle ODBC Driver and Essbase.
    I read this document in the below link and I was convinced that I could use ODBC to connect to Essbase, but our data administrator says that Essbase is an OLAP database and can NOT use ODBC.
    http://docs.oracle.com/cd/E10530_01/doc/epm.931/esb_sqlint.pdf
    I am a SAS programmer, but I have no background in technical configuration, so I was wondering if someone can help me if it is really possible or not to connect to Essbase using ODBC.
    If it is possible, I have a follow up question...
    I followed this link below to do a set up and did so successfully before the actual step to add a new data source to ODBC driver.
    I should be able to select the TNS Service Name from the drop down list. This name will be that which I named in the TNSNAMES.ora file’s Alias = section, but I don’t see this option…
    It would be great if someone knows why I do not see this option populated under drop-down in the screenshot.
    Setting up an Oracle ODBC Driver and Data Source | Ten Six Consulting

    1) As I recall, the problem of returning 0 is caused either by an outdated version of the ODBC driver or of the MDAC (Microsoft Data Access Components). Updated versions of the ODBC driver are available here on OTN and updated versions of the MDAC are available at <http://www.microsoft.com/data>.
    2) Versioning-
    To determine the version of the Oracle8 ODBC driver you should be using, simply match up the first three digits of the ODBC driver version and the Oracle client version (see chart Mr. Oehl posted). The 8.1.5.6 ODBC driver should go on an 8.1.5.x.x system, the 8.1.6.1 ODBC driver should go on an 8.1.6.x.x system. If you have an Oracle7 client, you'll need one of the version 2.5x Oracle7 ODBC drivers.
    Any ODBC driver should connect with any Oracle database. No need to match anything up there. You can determine the version of the database you're connected to by calling the ODBC function SQLGetInfo with the InfoType SQL_DBMS_VER.
    A little elaboration on version numbers
    - Oracle versions are generally 5 digits (i.e. 8.0.5.2.4, 8.1.5.1.1). The versions that you get on CD's are generally (always?) x.x.x.0.0 versions (i.e. 8.1.5.0.0, 8.1.6.0.0). The last two digits are incremented by periodic patchkit releases <ftp://oracle-ftp.oracle.com/server/patchsets/wgt_tech/server/windowsNT/>
    - ODBC drivers must report versions in 4 parts, each part having 2 digits (i.e. 8.01.05.05). Since we're lazy about typing extra 0's, we simplify this and just refer to the 8.1.5.5 ODBC driver.
    - The 8.1.5.x ODBC driver is built with the client libraries that ship with Oracle 8.1.5.x.x, the 8.1.6.x ODBC driver is built with the client libraries that ship with Oracle 8.1.6.x.x, etc. This is why I said above that you need to match the first 3 version numbers between Oracle client and ODBC driver to determine which to use.
    I hope this is more enlightening than confusing...
    Justin Cave
    ODBC Development
    null

  • Oracle ODBC Driver and Numbers in ASP

    When I try to retrieve a number field from my RecordSet I allways get 0, allthow when viewing the field from SQL Plus I get another value.
    objRs is an ADODB.resultSet and state is a Number(5) field.
    I've tried:
    objRs("state")
    objRs("state").value
    objRs.Fields("state")
    objRs.Fields("state").value
    but they all return 0
    null

    1) As I recall, the problem of returning 0 is caused either by an outdated version of the ODBC driver or of the MDAC (Microsoft Data Access Components). Updated versions of the ODBC driver are available here on OTN and updated versions of the MDAC are available at <http://www.microsoft.com/data>.
    2) Versioning-
    To determine the version of the Oracle8 ODBC driver you should be using, simply match up the first three digits of the ODBC driver version and the Oracle client version (see chart Mr. Oehl posted). The 8.1.5.6 ODBC driver should go on an 8.1.5.x.x system, the 8.1.6.1 ODBC driver should go on an 8.1.6.x.x system. If you have an Oracle7 client, you'll need one of the version 2.5x Oracle7 ODBC drivers.
    Any ODBC driver should connect with any Oracle database. No need to match anything up there. You can determine the version of the database you're connected to by calling the ODBC function SQLGetInfo with the InfoType SQL_DBMS_VER.
    A little elaboration on version numbers
    - Oracle versions are generally 5 digits (i.e. 8.0.5.2.4, 8.1.5.1.1). The versions that you get on CD's are generally (always?) x.x.x.0.0 versions (i.e. 8.1.5.0.0, 8.1.6.0.0). The last two digits are incremented by periodic patchkit releases <ftp://oracle-ftp.oracle.com/server/patchsets/wgt_tech/server/windowsNT/>
    - ODBC drivers must report versions in 4 parts, each part having 2 digits (i.e. 8.01.05.05). Since we're lazy about typing extra 0's, we simplify this and just refer to the 8.1.5.5 ODBC driver.
    - The 8.1.5.x ODBC driver is built with the client libraries that ship with Oracle 8.1.5.x.x, the 8.1.6.x ODBC driver is built with the client libraries that ship with Oracle 8.1.6.x.x, etc. This is why I said above that you need to match the first 3 version numbers between Oracle client and ODBC driver to determine which to use.
    I hope this is more enlightening than confusing...
    Justin Cave
    ODBC Development
    null

  • Download and installing oracle odbc driver alone

    Hi all,
    I wanted to find out if I can download just the oracle odbc driver and install in without actually installing oracle database or client version on windows PC.
    thank you

    You will need to have some Oracle software on your machine for the Oracle ODBC driver to function.
    If you can use the 10g client, you can install the 10g Instant Client and the ODBC driver. The Instant Client is a minimal set of libraries that allow components like the Oracle ODBC driver to work. The 10g client, though, is not certified to connect to databases earlier than 8.1.7.
    If you have to use an earlier version, you have to install the full Oracle client, which is not a small install, to be able to use the Oracle ODBC driver.
    Justin
    Distributed Database Consulting, Inc.
    http://www.ddbcinc.com/askDDBC

  • Slow performance in W2K using Oracle ODBC Driver

    My company is upgrading our NT4 servers to W2K. One or our App servers is running MTS with several packages, one of those being a dataaccess package that is responsible for all data actions.
    In testing the OS upgrade, I found considerable performance degradation with our data access package. I finally solved the problem by changing the ODBC driver from Oracle ODBC Driver to the Microsoft ODBC for Oracle Driver. I have also found that under XP, I can still retain the use of the Oracle ODBC Driver without any performance hits.
    All systems currently have the 8.1.7 Oracle Client and MDAC 2.7. I have also tried the Oracle Objects for OLE with similar performance losses in W2K.
    More info about the problem...
    In using the Oracle ODBC Driver, I connect this way -
    Dim RS As ADOR.Recordset
    Set RS = CreateObject("ADOR.Recordset")
    RS.ActiveConnection = "DSN=" & p_strDSN & ";" & "uid=" & strUser & ";pwd=" & strPassword & ";"
    RS.Source = "Select stuff from aTable"
    RS.LockType = adLockReadOnly
    RS.Open
    Using W2K, I found that the majority of processing time comes from the RS.ActiveConnection call, not from object creation.
    I would like to use an Oracle developed driver to connect to my database, however, I am forced to use the Microsoft driver. I have not seen any similar problem on this message board, nor have I seen any mention of this in MSDN's discussion board. Can anyone shed some light on what is going on?
    Thanks,
    Matt

    The performance lag we have been seeing is in the milliseconds, but when we make repeated calls, those milliseconds add up. I am seeing a difference of about 7 - 10 milliseconds each call between the Oracle ODBC Driver and the Microsoft driver.
    TNSPings seem quick in all setups as does the connection tests.
    The Oracle ODBC driver version is 8.01.07.00. I haven't tried the new 8.01.07.6+ drivers yet. I'll give them a shot and reply back with results in a day or so.

  • Oracle ODBC driver: NO_DATA_FOUND blocked

    Hello,
    I found that NO_DATA_FOUND exceptions thrown inside stored_procedures are sometimes not propagated to ODBC errors. This happens with the Oracle ODBC driver, but not with the MS one (the MS one does propagate the exception/error).
    Test-Procedure:
    Create or Replace Procedure throws_exception(p1 in number)
    IS
    BEGIN
    raise NO_DATA_FOUND;
    END;
    If I call this stored_procedure the ODBC call will return with no errors:
    Begin THROWS_EXCEPTION(1); end;
    Versions:
    - oracle server: 10.02
    - oracle driver: 10.02
    - mirosoft driver: 2.575
    Is this a known bug in the oracle ODBC driver, or is this a bad setup, etc?
    If this is a bug, it is a very inconvenient one, because basically it means your stored_procedure can fail completely silentely. It implies that the use of the oracle driver is completely unreliable.
    I have copied this text from another user, he got no answer to this :-(
    Thanks
    Joachim Paulus
    Message was edited by:
    user517727
    Message was edited by:
    user517727

    Any answers? Same problem on 10.2.0.2.0

  • Insert into CLOB fails with Oracle ODBC driver version 9.02.00.65

    I tried to insert into CLOB using the latest Oracle ODBC driver 9.02.00.65 and it fails. But the same works with earlier versions of ODBC driver earlier to 9.02.00.65 ie., 9.02.00.63.
    Here is the code snippet I tried. Any help now is highly appreciated as I am in the crunch time.
    I tried the same code snippet with VARCHAR2 column with the same driver and it works.
    ** CONVDSN.C - This is the ODBC sample code for
    ** creating File DSN pointers to machine DSNs.
    **This code is furnished on an as-is basis as part of the ODBC SDK and is
    **intended for example purposes only.
    #include <windows.h>
    #include <stdio.h>
    #include <tchar.h>
    #include <sql.h>
    #include <sqlext.h>
    #include <odbcinst.h>
    #include <sqltypes.h>
    #define MAXDATALEN 25 //maximum data length per column
    #define MAX_COL 15 //maximum column in result set
    #define MAX_ROW 100 //maximum number of rows
    #define MAXBUFLEN 256
    #define SQLERR_FORMAT "SQL Error State:%s, Native Error Code: %lX, ODBC Error: %s"
    #define MAXDISPLAYSIZE MAX_COL*(MAXDATALEN+1)
    #define SQLWRNMSGTITLE "SQL_SUCCESS_WITH_INFO results"
    #define SQLERRCNTDTITLE "SQL_ERROR results continued"
    #define SQLWRNMSGTITLE "SQL_SUCCESS_WITH_INFO results"
    #define SQLWRNCNTDTITLE "SQL_SUCCESS_WITH_INFO results continued"
    #define NULLDATASTRING "SQL_NULL_DATA"
    #define SQLERRMSGTITLE "SQL_ERROR results"
    // prototypes
    void ExpandFileName(LPSTR szFileDSNName, LPCSTR szDSNName);
    void MakeLegalName(LPSTR szLegalDSNName, LPCSTR szDSNName);
    // main routine: Iterate through the user and system DSNs, creating a pointer
    // to each.
    void FAR PASCAL DisplayError(SQLRETURN nResult, HWND hWnd, SWORD fHandleType, SQLHANDLE handle);
    void insertSelectClob();
    void checkRcCode(RETCODE rc);
    int main (int argc, char* argv[])
         insertSelectClob();
    return 0;
    void FAR PASCAL DisplayError(SQLRETURN nResult, HWND hWnd, SWORD fHandleType, SQLHANDLE handle)
         UCHAR szErrState[SQL_SQLSTATE_SIZE+1]; // SQL Error State string
         UCHAR szErrText[SQL_MAX_MESSAGE_LENGTH+1]; // SQL Error Text string
         char szBuffer[SQL_SQLSTATE_SIZE+SQL_MAX_MESSAGE_LENGTH+MAXBUFLEN+1];
         // formatted Error text Buffer
         SWORD wErrMsgLen; // Error message length
         UDWORD dwErrCode; // Native Error code
         int iSize; // Display Error Text size
         SQLRETURN nErrResult; // Return Code from SQLGetDiagRec
         SWORD sMsgNum = 1;
         SWORD fFirstRun = TRUE;
         char szDispBuffer[MAXDISPLAYSIZE+1]; // Display Buffer
         szBuffer[0] = '\0';
         do
              // continue to bring messageboxes till all errors are displayed.
              // more than one message box may be reqd. as err text has fixed
              // string size.
              // initialize display buffer with the string in error text buffer
              strcpy(szDispBuffer, szBuffer);
              // call SQLGetDiagRec function with proper ODBC handles, repeatedly until
              // function returns SQL_NO_DATA. Concatenate all error strings
              // in the display buffer and display all results.
              while ((nErrResult = SQLGetDiagRec(fHandleType, handle, sMsgNum++,
                   szErrState, &dwErrCode, szErrText,
                   SQL_MAX_MESSAGE_LENGTH-1, &wErrMsgLen)) != SQL_NO_DATA)
                   if(nErrResult == SQL_ERROR || nErrResult == SQL_INVALID_HANDLE)
                   break;
                   wsprintf(szBuffer, SQLERR_FORMAT, (LPSTR)szErrState, dwErrCode, (LPSTR)szErrText);
                   iSize = strlen(szDispBuffer);
                   if (iSize && (iSize+strlen(szBuffer)+1) >= MAXDISPLAYSIZE)
                   break;
                   if (iSize)
                   strcat(szDispBuffer, "\n");
                   strcat(szDispBuffer, szBuffer);
              // display proper ERROR or WARNING message with proper title
              if (nResult == SQL_SUCCESS_WITH_INFO)
                   MessageBox(hWnd, szDispBuffer, (fFirstRun? SQLWRNMSGTITLE : SQLWRNCNTDTITLE),
                   MB_OK | MB_ICONINFORMATION);
              else
                   MessageBox(hWnd, szDispBuffer, (fFirstRun? SQLERRMSGTITLE : SQLERRCNTDTITLE),
                   MB_OK | MB_ICONEXCLAMATION);
              if (fFirstRun)
                   fFirstRun = FALSE;
         while (!(nErrResult == SQL_NO_DATA || nErrResult == SQL_ERROR || nErrResult == SQL_INVALID_HANDLE));
    void insertSelectClob()
    SQLCHAR clobdata[1001];
    SQLCHAR resultdata[1001];
    SQLINTEGER ind = SQL_DATA_AT_EXEC;
    SQLCHAR *bufp;
         SQLINTEGER cbOrderID = sizeof(SQLSMALLINT);
         SQLSMALLINT sTmp=13;
         SQLCHAR *sqlStmt1  = _T("INSERT INTO clobtbl(id, clob1) VALUES(?, ?)");
         SQLCHAR *sqlStmt2  = _T("SELECT id, clob1 FROM clobtbl");
    //     SQLCHAR *sqlStmt1  = _T("INSERT INTO testInsert(id, clob1) VALUES(?, ?)");
    // SQLCHAR *sqlStmt2  = _T("SELECT id, clob1 FROM testInsert");
    int clobdatalen, chunksize, dtsize, retchklen;
         HENV envHnd;
    HDBC conHnd;
    HSTMT stmtHnd;
    RETCODE rc;
         int nRowcnt=0;
         SQLPOINTER pToken = NULL;
    rc = SQL_SUCCESS;
    // ENV is allocated
    rc = SQLAllocEnv(&envHnd);
    // Connection Handle is allocated
    rc = SQLAllocConnect(envHnd, &conHnd);
    rc = SQLConnect(conHnd, T("testd734"), SQLNTS, T("ipathdba"), SQLNTS, T("ipathdba"), SQLNTS);
    printf(_T("Insert CLOB1 using SQLPutData...\n[%s]\n"), sqlStmt1);
    // Set CLOB Data
    int i;
    SQLCHAR ch;
    for (i=0, ch=_T('A'); i< sizeof(clobdata)/sizeof(SQLCHAR); ++i, ++ch)
    if (ch > _T('Z'))
    ch = _T('A');
    clobdata[i] = ch;
    clobdata[sizeof(clobdata)/sizeof(SQLCHAR)-1] = _T('\0');
    clobdatalen = lstrlen(clobdata); // length of characters
    chunksize = clobdatalen / 7; // 7 times to put
         rc = SQLAllocHandle(SQL_HANDLE_STMT, conHnd, &stmtHnd);
    // Step 1: Prepare
    rc = SQLPrepare(stmtHnd, sqlStmt1, SQL_NTS);
    // checkSQLErr(envHnd, conHnd, stmtHnd, rc);
    // Step 2: Bind Parameter with SQL_DATA_AT_EXEC
    rc = SQLBindParameter(stmtHnd,
    1,
    SQL_PARAM_INPUT,
    SQL_C_SSHORT,
    SQL_INTEGER,
    0,
    0,
    &sTmp,
    0,
    &cbOrderID);
    rc = SQLBindParameter(stmtHnd,
    2,
    SQL_PARAM_INPUT,
    SQL_C_CHAR,
    SQL_LONGVARCHAR,
    clobdatalen*sizeof(CHAR),
    0,
    (SQLPOINTER)clobdata,
    clobdatalen*sizeof(CHAR),
    &ind);
    // checkSQLErr(envHnd, conHnd, stmtHnd, rc);
    // Step 3: Execute
    rc = SQLExecute(stmtHnd);
         while (rc == SQL_NEED_DATA) {
              rc = SQLParamData(stmtHnd, &pToken);
              if (rc == SQL_NEED_DATA) {
                   for (dtsize=0, bufp = clobdata;
                        dtsize < clobdatalen;
                        dtsize += chunksize, bufp += chunksize)
                   int len;
                   if (dtsize+chunksize < clobdatalen)
                        len = chunksize;
                        rc = SQLPutData(stmtHnd, bufp, len*sizeof(SQLCHAR));
                   else
                        len = clobdatalen-dtsize;
                        rc = SQLPutData(stmtHnd, bufp, SQL_NTS);
              rc = SQLParamData(stmtHnd, &pToken);
    // Fails as row count retrieved is zero.
         rc = SQLRowCount(stmtHnd, &nRowcnt);
         if(rc != SQL_SUCCESS)
              DisplayError(rc, NULL, SQL_HANDLE_ENV, conHnd);
    rc = SQLFreeStmt(stmtHnd, SQL_CLOSE);
    printf(_T("Finished Update\n\n"));
    rc = SQLAllocStmt(conHnd, &stmtHnd);
    if (rc != SQL_SUCCESS)
    printf(_T("Failed to allocate STMT\n"));
    exit(-1);
    // Clear Result Data
    memset(resultdata, 0, sizeof(resultdata));
    chunksize = clobdatalen / 15; // 15 times to gut
    rc = SQLExecDirect(stmtHnd, sqlStmt2, SQL_NTS); // select
         if(rc != SQL_SUCCESS)
              DisplayError(rc, NULL, SQL_HANDLE_ENV, conHnd);
    // Step 2: Fetch
    rc = SQLFetch(stmtHnd);
    for(dtsize=0, bufp = resultdata;
    dtsize > sizeof(resultdata)/sizeof(CHAR) && rc != SQL_NO_DATA;
    dtsize += chunksize-1, bufp += chunksize-1)
    int len; // len should contain the space for NULL termination
    if (dtsize+chunksize<sizeof(resultdata)/sizeof(CHAR))
    len = chunksize;
    else
    len = sizeof(resultdata)/sizeof(CHAR)-dtsize;
    // Step 3: GetData
    rc = SQLGetData(stmtHnd,
    2,
    SQL_C_CHAR,
    (SQLPOINTER)bufp,
    len*sizeof(CHAR),
    &retchklen);
    if (!_tcscmp(resultdata, clobdata))
    printf(_T("Succeeded!!\n\n"));
    else
    printf(_T("Failed!!\n\n"));
         if (conHnd)
              SQLFreeConnect(conHnd);
         if (envHnd)
              SQLFreeEnv(envHnd);
    }

    Hi,
    Since 9.2 has been desupported for error correction you will not be able to download that version from OTN. You should ask whoever is providing the training if their is an alternate version you can use. The only versions that you will be able to download from oracle.com is 10.2 11.1, and 11.2.

  • Oracle ODBC Driver 10.02.00.04 sqora32.dll with /*+ RULE */ base hints

    Hi Everybody,
    I have a problem with SQL queries with /*+ RULE */ base hints being posted to an Oracle database. I have reason to believe that these queries are generated by the Oracle ODBC Driver itself. Although I don't have a performance problem per se, I need to reduce these hints to a minimum so we can fine-tune the database as a whole.
    * The views that are hit are always the same: All_Objects, All_Arguments, All_Synonyms,
    * We are using Oracle ODBC driver 10.02.00.04 for Windows, the database server is a RS6000 with AIX and Oracle 10g,
    * Aside Oracle Development tools, there are no applications, reports or similar gadgets that query the tables described above.
    I would really appreciate any help about this issue.
    Here is an example of the type of queries that I'm writing about:
    SELECT /*+ RULE */ '', b.owner, decode (b.object_type, 'PACKAGE', CONCAT( CONCAT (b.object_name, '.'), a.object_name), b.object_name), NULL, NULL, NULL, NULL, decode (b.object_type, 'PACKAGE', decode(a.position, 0, 2, 1, 1, 0), decode(b.object_type, 'PROCEDURE', 1, 'FUNCTION', 2, 0))
    FROM ALL_ARGUMENTS a, ALL_OBJECTS b
    WHERE ( b.object_type = 'PROCEDURE' OR b.object_type = 'FUNCTION' ) AND b.object_id = a.object_id AND (a.sequence=1 OR a.sequence=0) AND b.OBJECT_NAME = 'MYTABLE' AND b.OWNER = 'MYSCHEMA' UNION
    SELECT /*+ RULE */ '', b.owner,b.object_name,NULL, NULL, NULL, NULL,decode(b.object_type, 'PROCEDURE', 1, 'FUNCTION', 2, 0)
    FROM ALL_OBJECTS b
    WHERE (b.object_type = 'PROCEDURE' OR b.object_type = 'FUNCTION') AND b.OBJECT_NAME = 'MYTABLE' AND b.OWNER = 'MYSCHEMA' UNION
    SELECT /*+ RULE */ distinct '', a.owner,CONCAT(CONCAT (a.package_name, '.'), a.object_name),NULL, NULL, NULL, NULL,decode(a.position, 0, 2, 1, 1, 0)
    FROM ALL_ARGUMENTS a
    WHERE (a.sequence=1 OR a.sequence=0) AND a.OBJECT_NAME = 'MYTABLE' AND a.OWNER = 'MYSCHEMA' ORDER BY 2,3
    Best Regards,
    Manuel
    Edited by: user10165637 on Jul 28, 2009 1:29 PM

    Hi Greg,
    Thank you for your answer. One of the things that we did when we migrated to Oracle 10g was to ensure that the "Disable Rule Base Hints" flag, located in the "Work-arounds" tab in the ODBC DSN window is checked. We previously refreshed all Microsoft's Access databases to use this new DSN connection. Still, the hints are there.
    However... we may have been able to link these calls to these Oracle System Catalog views, with a custom application that launces Crystal Reports.
    Although we all know that Crystal Reports also caches ODBC DSN configuration settings, I must say that these same Crystal Reports do not generate hints when called from their InfoView server.
    We will proceed to modify the custom application, overridding the dissable rule-base hint work-around with the string "DRH=T" on the connection string. Next week we will know if this works.
    Best Regards,
    Manuel

  • Help w/ODBC driver and Oracle 7 (and maybe 8)

    Hi,
    Can anyone give me some information about using the Oracle ODBC driver for Windows? I know that it is no longer supported, but our application uses the Oracle 7 (7.3.4) client to connect to an Oracle 8i server. I have some reports written in a MS Access front end that connect through the ODBC (Oracle 7 driver) to the server.
    When I run a query that takes a long time to return results, I find the connection times out whenever I use Windows2000/NT but is fine when I use 98. I also have this problem when I use the Oracle 8 client/driver and I am sure to remove the check from the "Enable Query Timeout" box in the ODBC setup. Again, even with 8, no problem on 98, but timeouts still happen on NT/2000
    Is there a known bug out there on this and is there some way to fix it?
    Thanks for your help and regards,
    Eugene

    The Oracle ODBC driver is certainly still a supported product. There are old versions (i.e. the Oracle7 driver that are no longer supported).
    Which version of the Oracle 8 client & ODBC driver are you using? If you're using a older 8.0.x client and ODBC driver, those may not have been certified on Windows 2000. Can you connect to the database with SQL*Plus on the machines where the Oracle 8 client & ODBC driver are installed?
    Is it possible that the user that's running the Access front-end doesn't have sufficient privs to the %ORACLE_HOME% directory? I know NT & 2000 actually enforce this sort of thing, where 98 doesn't.
    Justin

  • ASP pages and Oracle ODBC Driver

    I have a number of ASP pages that need to be updated to connect to Oracle using the ORACLE ODBC driver. Currently, these pages connect using the Microsoft ODBC driver for Oracle. I do not know of all the details yet as I havent seen the pages or network for which they reside on and I havent been supplied with details on version information. I would assume I am working with recent versions of all software.
    What Im curious about is if anyone has done this sort of driver change before and if you have any suggestions on how I would go about doing this, or if there are things that I need to be aware of that arent evident at first glance.
    Again, I am switching from the odbc driver provided by Microsoft to a version of the odbc driver provided by Oracle.
    Thanks for any and all information.

    I'll assume that there is some reason that necessitates switching drivers. If there's not going to be a benefit, I'd suggest not changing.
    That said, changing drivers should be relatively painless. If your ASP makes database connections using DSN's, simply go to the ODBC Data Source Administrator, rename the old Microsoft DSN, and create a new DSN using the Oracle driver with the name your ASP is looking for. If your ASP specifies the ODBC driver in its connect string, you'll have to modify all the ASP connect strings to use the Oracle driver. If all goes well, your ASP will now be up & running using the Oracle driver.
    As we all know, however, reality and theory are often at odds with each other. While your ASP should be connecting to the database correctly when you make these changes, please do some thorough testing to verify that everything works like you expect. The ODBC specification permits drivers to have a variety of behaviors in certain conditions. Applications written with one ODBC driver often end up relying on one of these behaviors, and may break when the ODBC driver changes.
    Justin Cave
    ODBC Development

  • Oracle timestamp with timezone

    Does CR support column of type "timestamp with timezone" column. I am getting error message "Failed to retrive data from database. Details:Not implemented". Thanks

    Since this is the Crystal Reports Java forum, you need to specify the explicit Java java.sql Type that the Oracle JDBC driver exposes the database type as.
    I'm not familiar with that data type, so don't know if it's mapped to the Timestamp type or not.
    Note that CR4E 2.0 supports up to JDBC 4.0 types.
    Sincerely,
    Ted Ueda

  • Oracle ODBC driver with Access Application

    I get a problem when using MS-Access 2007 DAO recordset built on table hosted by an Oracle database 10g and connected thru ODBC
    The table scheme is :
    idPartenaire : number(11)
    libelle : varchar2(250)
    code : varchar2(5)
    actif : number(1)
    idCollege :numner(11)
    idPartenaire is generated by a sequence read in a trigger fired before insert on th table.
    The code I use in Access is :
    The query associated with the form is :
    "select * from table1"
    and the event procedure connected to a button on the form is :
    Private Sub Commande0_Click()
    Dim rs As DAO.Recordset
    Me.Recordset.AddNew
    Me.Recordset!libelle = CStr(Rnd) ' some value
    Me.Recordset!code = “”
    Me.Recordset!actif = -1
    Me.Recordset!idCollege = 1
    Me.Recordset.Update
    Me.Recordset.Bookmark = Me.Recordset.LastModified
    Dim idtemp As Long
    idtemp = Me.Recordset.idPartenaire
    Me.Requery
    Me.Recordset.FindFirst "idPartenaire = " & idtemp
    Set rs = Nothing
    End Sub
    When I run this code, I get an error 3167 (current record is deleted) on the line :
    idtemp = Me.Recordset.idPartenaire
    If I change the ligne :
    Me.Recordset!code = “”
    By :
    Me.Recordset!code = “xxxx”
    or if I comment this line, the error does not appear and I get the right value in idtemp variable.
    I tried also with the same table in a SQL Server database table. In this case it works fine in all cases.
    So, I seems that the problem is due to the Oracle ODBC driver. I tried with different versions of Oracle ODBC drivers (v10.0.2.4, v11.1.6)
    I search on Internet but I have not found any explanation or solution.
    Does anybody experiment the same problem (and find a solution)?
    Gilles Roussel.

    The two lines you quote aren't errors, they're warnings and they're pretty standard fare. If there isn't anything else in the ODBC log, then the driver isn't returning any errors. I'm not sure why Access is failing, so let's look at the client configuration first.
    - I assume you've successfully installed the 8.1.6 client on the machine with Access. Were there any errors during the install?
    - You say you're using the 8.1.6 version of the Oracle ODBC driver-- can you look to see what the last digit of the version is? If possible, I'd start by downloading the most recent 8.1.6.x ODBC driver from OTN.
    - Check which version of the MDAC you have installed (new versions & a version checker are available from Microsoft at <http://www.microsoft.com/data>.
    - The ODBC driver you download above will list which versions of the MDAC it is expected to work with. Make sure your version is one of the listed versions.
    Justin

  • Memory Leak with Oracle ODBC Driver for Long Raw columns

    Oracle version : 8.1.7
    Platform : Win2K
    Oracle ODBC Driver version : 8.0.1.7.5.0.0
    Hi,
    I've got an Oracle database upgraded from
    V8.0.5 to V8.1.7 which has a table having one long raw +
    normal columns. I was able to observe distinct memory
    leaks (approx 80K) when using ODBC interface calls (thro C++ code) that referenced a combination of normal & long raw columns in a select statement. However, this leak was not observed when only normal columns were present in the
    select statement. Is there any known restriction for using
    long raw columns with other columns? Or do long raw columns have a known memory leak problem thro ODBC?
    Thanks!
    Regards
    Sanchayan

    Did you ever get an answer on this issue?
    Thanks in advance

  • Why have I lost the info of  timezone (Timestamps with Timezone )

    I have been trying to get timestamps with timezones working in my Java application, but I don't seem to get the data I expect back from the JDBC driver
    my field type is Timestamps with Timezone ,in the database,I saw the info of (12-DEC-06 01.12.12.123000 PM -06:00),but I don't know How to get it from Java
    I've use the Timestamp aa =rs.getTimestamp("FIELDVALUE");but the timezone is lost, what can I do?
    thanks

    Timestamps are always GMT based (or could be thought of as timezone neutral) so what you should get back is a timestamp representing a GMT equivalent of the time you see that has a 6 hour offset from GMT. In other words, if the time were 1 PM Central Standard you would get a GMT time of 7 PM.
    You should then be able to display that time in any time zone you wish using SimpleDateFormat and specifying the time zone you want to display it in. So if you then display it with Central Standard, the 7 PM GMT would then display as 1 PM again. In other words, 7 PM GMT and 1 PM Central Standard are the same timestamp
    If you just display the timestamp using a toString(), you will get the time in the default time zone of the JVM..
    Whether the driver actually does this correctly with the Oracle database I can't say. I've made several posts in a variety of places complaining that the driver does not work correctly with timestamps but my experience is limited to regular timestamp fields, not the new Oracle type of timestamp with timezone.
    Based on my experience, what you are more likely getting back in the 1 PM- 7 PM example is 7 PM in the default timezone of the JVM.
    You should look at the getTimestamp with Calendar options to see if they work better for you.
    The main thing to keep in mind is that timestamps are really timezone neutral.

  • MS ODBC or Oracle ODBC driver?

    Can anyone tell me which is the correct driver to use when developing front end MS Access 2003 to retrieve and update data on a Open VMS platform with Oracle 8.1.7.3 database?
    I have serval Access 2000 databases that run on most WinNT or W2K clients with a couple of W2K Dell exceptions. These Access 2000 db's connect to the Oracle database using linked tables and SQL pass-through queries that work with ODBC Manager-DNS system setup using the Microsoft for Oracle ODBC driver.
    Now we are upgrading to Office Pro 2003 so new W2K images have been setup with Oracle 8.1.7 Client. SQL*Plus works on these clients but when I create the System DNS the Access databases return an error "ODBC connection failed". I can however connect with a pass-through query using Oracle's ODBC driver. Not enough time in roll-out plan to change the ODBC connection string in hundreds of Access SPT queries.
    Please help!
    Bonnie

    if you still need assistance reagarding this...email me directly..
    shah
    null

Maybe you are looking for

  • Help with Sort sequence and reset preferences

    Hi, I have checked the "sort" checkboxes and the "sort sequence" in my first 5 columns of the sql report. The sequence are straight 1,2,3,4,5. I have also create two buttons. The first one that will trigger a pl/sql that would execute RESET_USER_PREF

  • How to replace usb port in mac air 13" mid 2011?

    How to replace usb port in mac air 13" mid 2011?

  • How to turn off volume adjustment sound under Windows 7

    Hey all, I'm running Windows7 x64 on an Intel iMac (July 2010 revision). Things are running well for the most part. However, I am unable to find a way to turn off the blooping sound played when adjusting the volume in Windows 7 (I know how to turn it

  • Question on Adobe Acrobat updates for version 9 and 10

    We have a large installed base of Adobe Acrobat 9 and 10 that we need to apply all the updates to. In reviewing the patches we realized we would be sending huge amounts of data across the network and impacting the end user work station. It would be s

  • Why can't I find my published ibook in the store?

    I've used the iBooks author to write a short Q&A about wedding videography and included some stills and a bit of video. I then used the ITunes Producer to upload it to the Apple store. I want to inlude a link to this on my website for a free download