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.

Similar Messages

  • 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

  • Oracle ODBC Driver version

    Hello,
    I installed the latest ODAC version (ODAC 11.2 Release 3 and Oracle Developer Tools for Visual Studio (11.2.0.2.1)) on my Windows system.
    However, when I check the ODBC driver version in ODBC Data Source Administrator I see:
    Orcale in OraClient11g_home1 - version 11.01.00.07
    I was expecting version 11.2.0.2.0
    How can I check what Oracle ODBC driver version I have installed?
    Thank you,
    M.R

    Problem solved, the driver has been updated but not the version number+ (there is a bug filled for that).
    Edited by: user7047382 on Jan 12, 2011 9:51 AM

  • Has anybody had any problems with the ODBC driver version 10.2.0.2.0?

    Hi,
    I have experienced a problem with my current version of the ODBC driver (version 10.1.0.2) and have been advised to upgrade to the newest version 10.2.0.2.0.
    As the driver was only released a couple of months ago, I am a bit wary about upgrading. Has anybody out there had any issues with the reliability of this driver or does it seem to be pretty stable?
    Thanks very much,
    Caroline

    Sorry, forgot to mention it is on linux.
    Setting SetJavaHome in the jdev.conf did not help.
    I did find a way to at least start the IDE though.
    Either comment out SetJavaVM in the jdev.conf or start jdev with the -client option
    Also to note:
    I downloaded the jdk 1.4.2 32 bit for x86 and i can't get jdev to start:
    current locale is not supported in X11, locale is set to CX locale modifiers are not supported, using defaultjava.lang.InternalError: Current locale is not supported
    at sun.awt.motif.MWindowPeer.pSetTitle(Native Method)
    at sun.awt.motif.MWindowPeer.init(MWindowPeer.java:97)
    at sun.awt.motif.MFramePeer.<init>(MFramePeer.java:58)
    So right now i'll try to hack it with j2se 5...

  • Problem with Oracle ODBC Driver on Windows 7

    Hi,
    Please help with this problem I have with a Windows 7 machine. I have installed Oracle Client 11g on my Windows 7 machine but when I want to create an ODBC Data Source, I cant find any driver for oracle. How can I resolve this issue? I need the data source for an application to work and I cant figure out what is happening. Someone please help!

    There's a dedicated Oracle ODBC forum:
    ODBC
    As this forum deals with connections from Oracle to foreign data stores it would be better to close this thread and post it again in the ODBC forum.

  • ORA-01013 with Oracle ODBC Driver 8.1.6.3

    I have a very strange problem occuring with the latest Oracle 8.1.6 Driver. I am able to set up the ODBC connection and it tests correctly. I'll open an Access 97 database and attempt to link to a table in an Oracle 8.1.6 through ODBC. I can connect to the database fine and it brings back a list of the available tables. However, when I select a table and attempt to link to it, I get the following error:
    ORA-01013: user requested cancel of current operation.
    This behavior also occurs if I try this operation through VB 6.0 code.
    Has anyone seen this before or better yet, have an answer as to why it is occurring?
    P.S., I'm using MDAC 2.51

    As an update, when I turn tracing on, here is the section of the log file that contains the error.
    MSACCESS d5-cb ENTER SQLStatisticsW
    HSTMT 01861988
    WCHAR * 0x00000000 [ -3] <empty string>
    SWORD -3
    WCHAR * 0x01862528 [ 5] "HQ"
    SWORD 5
    WCHAR * 0x01862548 [ -3] "AS"
    SWORD -3
    UWORD 1 <SQL_INDEX_ALL>
    UWORD 0 <SQL_QUICK>
    MSACCESS d5-cb EXIT SQLStatisticsW with return code -1 (SQL_ERROR)
    HSTMT 01861988
    WCHAR * 0x00000000 [ -3] <empty string>
    SWORD -3
    WCHAR * 0x01862528 [ 5] "HQ"
    SWORD 5
    WCHAR * 0x01862548 [ -3] "AS"
    SWORD -3
    UWORD 1 <SQL_INDEX_ALL>
    UWORD 0 <SQL_QUICK>
    DIAG [S1T00] [Oracle][ODBC][Ora]ORA-01013: user requested cancel of current operation
    (1013)

  • Oracle ODBC Driver 8.1.7.8b causing MFC OpenEx() delay

    Hi:
    I have installed the Oracle ODBC Driver version 8.1.7.8b on a WINNT 4.0 Workstation with SP6a. I have an MFC test app with the following code:
    PostStatus(ERROR_NOERROR, APP_NAME, "Calling OpenEx()");
    CDatabase db;
    if(db.OpenEx(_T("DSN=MYTESTDSN;UID=USERID;PWD=PASSWORD"), CDatabase::openReadOnly|CDatabase::noOdbcDialog))
         PostStatus(ERROR_NOERROR, APP_NAME, "OpenEx() success,calling Close()");
         db.Close();
    } // OpenEx()
    else // OpenEx() error
         PostStatus(ERROR_MODERATE, APP_NAME, "Error opening database,OpenEx() failed!");
    The above OpenEx call is taking upto 3 seconds to return. When I use Microsoft Oracle ODBC driver, it takes less than 0.5 sec to connect/disconnect.
    Any idea why OpenEx() is taking that long? I've compiled this using VC++ 6.0 SP5, on a WIN2K and WINNT system but I get the same result.
    Thanks,
    Amit.

    This forum is for feedback about the OTN program and problems with OTN accounts. Technical questions cannot be answered here. Please post your question in the appropriate product or technology forum. http://forums.oracle.com/forums/index.jsp?cat=48

  • Crystal Report Oracle ODBC driver invalid Thai character display problem

    Hi,
       My server has CR Oracle ODBC 5.1 installed on last week. We have several reports in the servers which called by our Application to export to text file and pdf file. Sometimes, the output (both text file and pdf file) can't display Thai character correctly. The text file show Thai character in question mark and pdf file show in square box. This problem occur randomly and disappear without doing anything. Sometimes the problem occur for an hour and gone but sometimes occur 10-15 minutes and gone. This problem also not happen every days. Once the problem occur, all reports with Thai character will fail.
       However, we have another server installed the same Application, same OS level, same OS patches and same CR Oracle ODBC driver version installed on the same time as above server (the problem server). This server does not have any problems.
       Any suggestions would be appreciated.
    Best Regards,
    Noppadon S.

    Hi Noppadon,
    Thank you for the info. If it happens randomly in their application then it's something they need to debug. Could even be in the ODBC driver.
    I suggest you tell them that because it works sometimes it shows the issue is likely in their software because if it failed all the time then it would be in Crystal dll's. They need to debug the problem, suggest they use tools like Process Monitor from www.sysinternals.com to step through to see where or what part is failing. If they having logging abilities that may help to find out what step is failing and in which API.
    At this point we have no way of determining where the problem is, it's failing in their application and no one but them know what or how they are using CR runtime files.
    If you can duplicate the problem using Crystal Report Designer then it's our problem, if not they have to help you to show us it is a CR issue.
    Sorry we can't be of more help but without know their code we can't suggest anything to try. Suggest they log a call with support here to help them debug the problem if they don't know what to do.
    Thank you
    Don

  • Select * from table not working with Oracle OBDC driver

    Hello,
    In our web development we have been using the MS ODBC for Oracle
    driver to connect to our Oracle db. We decided to try the
    Oracle ODBC driver because it supports the commandTimeout
    property in ASP which the MS driver does not. The problem I'm
    running into now is that all of our select * from table
    statements appear not to be working. The Oracle ODBC driver
    version we are using is ver 8.00.05.00. Is there something that
    I'm not doing properly? If I take the same select * from table
    statement and name the columns, I dont get any error. Otherwise
    I'm getting a Subscript out of range error. It seems strange to
    me that this driver would not support a select * from table
    statement (which I''m told is the case by another developer
    here).
    Is there something I'm missing?
    Thanks,
    Pete

    I'm positive I have a connection. Otherwise I wouldn't get a
    response when I name the columns instead of using *.
    There must be something else that I'm missing or doing wrong.
    I've actually been looking into alternative ODBC drivers to see
    if I have the same problems but none that I have found support
    commandTimeout.
    Any other ideas?

  • Oracle ODBC driver 8.1.6.2.0

    Hi
    I want know where can I download the Oracle ODBC driver version 8.1.6.2.0?I read in the Oracle support that the access violation error due to network problems is fixed out in this driver version.Please guide me where to download it.
    Thanking in advance

    We haven't released 8.1.6.2 yet. We should be wrapping up new work on this version and moving into the testing phase shortly.
    Justin Cave
    ODBC Development

  • 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.

  • "stack overflow" when trying to connect with Oracle ODBC

    Hi,
    I'm trying to connect to Oracle DB (8.1.7.3.0) from WinNT 4.0 SP6 with Oracle ODBC driver 8.0.6.6.0. I've been trying to connect with "Oracle ODBC Test" and with "MS Query". In either way I end up with Dr. Watson reporting about "stack overflow". Before starting to upgrade ODBC driver I wanted to ask - should these versions of driver and DB work together at all (even unofficially)? Or may I be missing some other thing? Any hints, ideas are welcome.
    Regards,
    Madis Priilinn

    Thank You for replying, Justin!
    Yes, I can connect successfully to the database through other tools - at the moment I tried SQL*Plus, Net8 Easy Config and Schema Manager.
    The Oracle client in the NT machine is 8.0.5.0.0. And unfortunately I do not know anything about the Oracle installation on this machine and at the moment I don't have that person near me too whom to ask also. But I think the installation was ok, because the connection through ODBC was working before the DB upgrade as far as I understood (sorry, again at the moment I don't know what was the previous version of DB. I will ask that information as soon as possible).
    The main problem that bothers me at the moment is that I can't install 8.1.* series OraODBC driver with 8.0.5.0.0 Oracle Installer. I managed to install 8.0.6.6.0 version of the driver, but not the newer ones. As far as I've understood I have to upgrade the whole Oracle in the NT machine to upgrade that installer. Am I correct?
    Regards,
    Madis Priilinn

  • Errors when installing Oracle ODBC driver

    I've been trying to install the Oracle ODBC driver version 9.2 but each and every time I tried I am getting the following error messages that are preventing the Universal Installer to install it:
    There was an error loading the following libraries:
    areasQueries
    After I hit ok, another message pops:
    There was an error loading the following libraries:
    WindowGeneralQueries
    Does anyone have an idea on how to resolve this problem? I tried downloading from the otn web site various 9.2 releases, 9.2.0.2, 9.2.0.5 and 9.2.0.5.4 but all of them are giving me the same error message. I even uninstalled and reinstalled the JRE but still the same problem occurred.

    When you install the Oracle client, a base version of the Oracle ODBC driver will be installed by default (you could customize the install not to install ODBC). Before we tackle the ODBC driver patchset instll, I'd like to make sure that the basic client software installed correctly.
    - Were there any errors thrown when you tried to install the 9.2 Oracle client?
    - Once you installed the Oracle client, were you able to connect to databases via SQL*Plus?
    - Is the Oracle ODBC driver on the list of ODBC drivers in the ODBC Data Source Administrator?
    - Can you connect to databases via the base version of the ODBC driver?
    Justin
    Distributed Database Consulting, Inc.
    www.ddbcinc.com/askDDBC

  • ORACLE ODBC DRIVER를 이용하여 ORACLE DATABASE에 접속하는 방법 (8.X이상)

    제품 : ODBC
    작성날짜 : 2003-03-27
    ORACLE ODBC DRIVER를 이용하여 ORACLE DATABASE에 접속하는 방법 (8.X이상)
    =========================================================
    PURPOSE
    Oracle Client가 8.X version인 경우, Oracle ODBC driver를 설치하고 Oracle
    database에 접속하는 방법을 살펴본다.
    Explanation
    1. 다음 site에서 Oracle ODBC driver를 download받는다.
    - http://otn.oracle.com에 접속한다.
    - downloads 항목을 선택하고 다음 페이지로 이동한다.
    - 오른쪽 끝쪽의 Technologies, Utilities, and Drivers TAB부분에,
    Oracle ODBC Drivers를 선택한다.
    - login 화면이 나타나고 login하여 접속하면 Oracle ODBC driver가 version별로
    download받을 수 있도록 나타난다.
    이때, version은 ODBC driver를 설치하고자 하는 client의 Oracle Client
    version과 동일한 것을 사용한다. 접속하고자 하는 db version에 맞추는것이
    아님을 유의한다.
    - 해당 version을 선택하고 다음 page에서,
    ELIGIBILITY EXPORT RESTRICTIONS 부분에 나타나는 5개 항목을 모두 표시한
    상태에서 끝에 I ACCEPT button을 누른다.
    - 해당 version의 .exe file을 download받는다.
    2. download 받은 odbc를 install한다.
    - 예를 들어 download받은 화일이 ora9202.exe라고 가정한다.
    - 이것을 실행시키면 압축이 자동으로 풀리는데 미리 d:\odbc와 같이 directory를
    만들어 둔 후 해당 directory에 압축이 풀리도록 한다.
    - 이미 Oracle Client 설치시 설치된 Oracle Universal Installer를 실행한다.
    - Universal Installer에서 '화일 위치' 항목에서 '소스' 부분에 d:\odbc쪽을
    선택하면, d:\odbc\Disk1\state\product.jar가 선택되는데 이러한 상태에서,
    아래 '대상' 부분에서는 Oracle Client가 설치되어 있는 ORACLE_HOME이름을
    선택하여 같은 ORACLE_HOME을 base로 odbc가 설치되도록 한다.
    3. ODBC configuration을 설정하고 연결을 테스트한다.
    - install이 끝나면, windows의 '시작'->'프로그램'->해당 oracle_home을
    선택하고 'Network Administration'-> 'Microsoft ODBC Administrator'를
    선택한다.
    - 사용자 DSN 혹은 시스템 DSN TAB상태에서, 오른쪽에 '추가' button을 누른다.
    - 데이타원본을 설정할 드라이버 선택 부분에서,
    'Oracle in oracle8i_home' 과 같이 해당 oracle_home을 나타내는 oracle을
    선택하고 '마침'을 누른다.
    - 'Oracle ODBC Driver Configuration' windows가 나타나게 되는데, 여기서
    - Data Source Name: application에서 사용할 data source이름을 지정한다.
    - Description: 임의로 설명을 적을 수 있다.
    - TNS Service Name: Oralce client의 %ORACLE_HOME%\network\admin directory의
    tnsnames.ora file내의 TNS 서비스 명을 적는다. 이 TNS 서비스 명을
    이용해서 sqlplus와 같이 odbc를 거치지 않고도 db server로 접속시 문제가
    없어야 한다. 미리 sqlplus에서 test해볼것을 권장한다.
    sqlplus상에서 username/passwd뒤에 @표시 뒤에 적는 글자를 의미하는 것이다.
    - User ID: scott/tiger와 같이 접속하고자 하는 username/password를 적는다.
    - 오른쪽에 'Test Connection' button을 선택하여 접속이 잘 되는지를 test한다.

  • Oracle ODBC Driver - latest version

    Hello,
    I installed the latest ODAC version (i.e. ODAC 11.2 Release 3 and Oracle Developer Tools for Visual Studio (11.2.0.2.1)) on my Windows system.
    However, when I check the ODBC driver version in ODBC Data Source Administrator I see:
    Oracle in OraClient11g_home1 - version 11.01.00.07
    I was expecting version 11.2.0.2.0
    Also, if I create a new ODBC data source and click on Test Connection -> About, I get:
    Oracle ODBC Driver
    Version 11.1.0.7.0
    Copyright @ 1996, 2007 Oracle
    I am really confused, why I cannot see the latest 11.2.0.2 version installed???
    Thank you,
    M.R

    There's a bug filed for that. The driver is actually 11202 (you can check the build date), but the version number didnt get rev'd.
    Greg

Maybe you are looking for