Thank you for the link to the 32 bit Windows Oracle downloads for the
Instant Client.

That solved the problem. I'm now able to connect to Oracle database from R
using the RODBC library.

Thank you Mark!

-Melanie

On Wed, Nov 18, 2009 at 6:23 PM, Marc Schwartz <marc_schwartz@me.com> wrote:

> Just to clarify on your first point, it is not that RODBC cannot work with
> 64 bit ODBC drivers. Given your particular configuration of 64 bit Windows,
> 32 bit R and 64 bit ODBC drivers, you are likely running into compatibility
> issues.
>
> From the error message below, it would seem that you are also either
> missing the requisite Oracle client software, or your system configuration
> variables are not set or are not set to the proper paths.
>
> The 32 bit Windows Oracle downloads are available from:
>
>
> http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/winsoft.html
>
> Now, I don't run Windows (have not in a long time), so I am not clear as to
> the subtleties that may be in play here given that you may be installing 32
> bit drivers over an existing 64 bit installation. You may need to remove the
> 64 bit install, in order to have a clean install of the 32 bit Oracle client
> apps. If they install into different locations, that might help to solve the
> problem, in which case, you need to be careful in configuring any system
> environment variables so that they point to the proper location.
>
> If you have access to in-house tech support or an Oracle SysAdmin, I would
> highly recommend that you seek them out to aid in ensuring that you end up
> with a clean 32 bit Oracle client installation. As I noted previously, I
> would be sure that you can connect to the Oracle server using the 32 bit
> Oracle Instant Client application as a test to ensure that OS and Oracle
> related configuration issues have been resolved. Then test the RODBC
> connection within R. That two step process has helped me to debug local
> configuration issues on both Linux and OSX.
>
> HTH,
>
> Marc Schwartz
>
>
> On Nov 18, 2009, at 3:12 PM, helpme wrote:
>
>  Now that I know RODBC only works with 32-bit ODBC drivers this explains
>> the
>> problem I was having.
>>
>> The system has a 64 bit ODBC driver is definitely installed. I can tell
>> because when you go to system32 folder and click on odbcad32.exe it goes
>> to
>> the Microsoft ODBC manager where I can select the driver installed for the
>> 64-bit Oracle system.
>>
>> The system32 folder contains the 64 bit driver for ODBC. When I go to the
>> syswow64 directory and click on the odbcad32.exe it does not take me to
>> the
>> Microsoft ODBC manager. Instead I get this error:
>>
>> Navigate to C:\Windows\syswow64\odbcad32.exe
>> 2.) Select System DSN
>> 3.) Add "Microsoft ODBC for Oracle"
>> I receive this error: The Oracle(tm) client and networking components were
>> not found. These components are supplied by Oracle Corporation and are
>> part
>> of the Oracle Version 7.3 (or greater) client software installation. You
>> will be unable to use this driver until these components have been
>> installed.
>>
>>
>>
>> I don't believe the 32-bit ODBC driver is present. What is the best way to
>> tell if the 32-bit Oracle client software isn't installed and I'm
>> wondering
>> if anyone has experience to install it on a 64-bit system and call it from
>> RODC?
>>
>>
>> On Mon, Nov 16, 2009 at 4:54 PM, Marc Schwartz <marc_schwartz@me.com>
>> wrote:
>>
>>  On Nov 16, 2009, at 2:39 PM, helpme wrote:
>>>
>>> I am receiving an error when trying to connect to the Oracle Database
>>>
>>>> using
>>>> RODBC on a 64-bit Windows Server OS. The version of R is
>>>> 2.10.0-win32.exe
>>>>
>>>> Is this the wrong version. Does RODBC only work with 32-bit ODBC
>>>> drivers?
>>>>
>>>> 've read over all the posts and documentation manuals.
>>>> The system is Windows Server 2003 with R 2.81. and the latest
>>>> downloadable
>>>> RODBC package. The Oracle SID/DSN is mfopdw. I made sure to add it to
>>>> Control Panel->Administrative Priviledges->Microsoft ODBC system/user
>>>> DNS.
>>>>
>>>> I've also tried the following in no particular order:
>>>>
>>>> 1.) Turn on all oracle services in control panel->administrative
>>>> priviledges.
>>>> 2.) Checked tsnnames.ora for SID.
>>>> 3.) Add microsoft ODBC service to Control Panel services for SID
>>>> 4.) Use Sqldeveler to test connection another way besides R (It was
>>>> successful)
>>>> 5.) channel<-odbcDriverConnect(
>>>> connection="Driver={Microsoft ODBC for Oracle};
>>>> DSN=abc,UID=abc;PWD=abc;"case="oracle")
>>>>
>>>> received error drivers SQLAllocHandle on SQL_HANDLE_ENV failed one time;
>>>> another time I got the error that Oracle client and networking
>>>> components
>>>> 7.3 or greater is not found.
>>>>
>>>> 6.) tnsping mfopdw
>>>>
>>>> lsnrctl start mfopdw
>>>>
>>>> tried to add oracle/bin to path
>>>>
>>>> Nothing is working.
>>>>
>>>>
>>> Three quick comments:
>>>
>>> 1. A better place to post these types of queries would be on the R-SIG-DB
>>> e-mail list, which is focused in this domain. More info here:
>>>
>>> https://stat.ethz.ch/mailman/listinfo/r-sig-db
>>>
>>> 2. Prof. Ripley will be a more definitive resource, so I would wait until
>>> he might respond.
>>>
>>> 3. If you have not yet, be sure to read the RODBC vignette, which is
>>> available either via:
>>>
>>> vignette("ROBDC")
>>>
>>> or online at:
>>>
>>> http://cran.r-project.org/web/packages/RODBC/vignettes/RODBC.pdf
>>>
>>>
>>> That all being said, since you have now posted what may be the root cause
>>> of your problem, which is the 64/32 bit details, I will venture a guess
>>> to
>>> say that this may be the problem. Since there is not a 64 bit version of
>>> R
>>> for Windows (save I believe the Revolution commercial release), if you
>>> are
>>> using 64 bit Oracle client binaries and ODBC drivers (if they exist),
>>> they
>>> will not be compatible with 32 bit R/RODBC.
>>>
>>> I know that on OSX, with 64 bit R/RODBC and 32 bit ODBC drivers for
>>> Oracle,
>>> the connectivity would not work, so it seems reasonable that the reverse
>>> configuration would not be compatible either.
>>>
>>> So, first, I would be sure that you are using 32 bit ODBC drivers for
>>> Oracle on Windows and not 64 bit. If you installed any other Oracle
>>> client
>>> related software, that likely also needs to be 32 bit as well.
>>>
>>> Then I would review the above vignette document and be sure that any
>>> general installation references and those specifically pertaining to
>>> Windows
>>> have been followed consistently, especially configuring $PATH and other
>>> environmental configuration items required for Oracle itself, which on
>>> some
>>> platforms usually include things like $ORACLE_HOME, $TNS_ADMIN and so
>>> forth.
>>> You indicate above:
>>>
>>>
>>> "tried to add oracle/bin to path"
>>>
>>> which does not definitively indicate that you actually did so. Did you?
>>> Also, check the capitalization, as the path is normally something like
>>> c:\Oracle\bin.
>>>
>>> If you can connect to the Oracle server using Oracle's own clients such
>>> as
>>> the InstantClient, that typically means that most of the system
>>> configuration issues are correctly set up. If that connection is
>>> successful,
>>> then it may bring us back to the 32/64 bit conflict.
>>>
>>> HTH,
>>>
>>> Marc Schwartz
>>>
>>
>

	[[alternative HTML version deleted]]


