Odbcconnectexcel is only usable with 32 bit windows

В средстве администрирования ODBC отображается как 32, так и 64 – битовые пользовательские DSN в 64 — разрядной версии Windows

В этой статье приводятся обходные сведения о проблеме, которая возникает в средстве администрирования источников данных ODBC.

Исходная версия продукта: SQL Server
Исходный номер статьи базы знаний: 942976

Симптомы

64-разрядная версия операционной системы Microsoft Windows включает следующие версии средства Администратор источника данных ODBC (Odbcad32.exe):

  • 32-разрядная версия файла Odbcad32.exe находится в %systemdrive%\Windows\SysWoW64 папке.
  • 64-разрядная версия файла Odbcad32.exe находится в %systemdrive%\Windows\System32 папке.

В файле Odbcad32.exe отображаются следующие типы имен источников данных (DSN):

  • Системные DSN
  • Пользовательские DSN

Симптом 1

В 32 — разрядной версии средства администрирования ODBC отображаются 32 — битовые DSN, 32 – битовые пользовательские DSN и 64 — битовые пользовательские DSN. В 64 — разрядной версии средства администрирования ODBC отображаются 64 — битовые DSN, 32 – битовые пользовательские DSN и 64 — битовые пользовательские DSN.

Симптом 2

SQLDataSources Функция возвращает все версии пользовательских DSN, независимо от архитектуры приложения. SQLDataSources Функция, которая вызывается в 32-разрядном приложении, возвращает только системные имена DSN для 32-разрядных драйверов, но возвращает пользовательские DSN для 32-разрядных и 64-разрядных драйверов. Аналогичным образом SQLDataSources функция, которая вызывается в 64-разрядном приложении, возвращает только системные имена DSN для 64-разрядных драйверов, но возвращает пользовательские DSN для 32 и 64-разрядных драйверов. Таким образом, если приложение выполняет подключение с помощью пользовательского имени DSN, которое возвращается из SQLDataSources функции, может появиться следующее сообщение об ошибке:

Не найдено имя источника данных и не указан драйвер по умолчанию

Например, рассмотрим следующий сценарий. Вы создаете Пользовательский DSN для 32-разрядного драйвера Microsoft Access Driver (*. mdb). В этом драйвере отсутствует соответствующая 64 — разрядная версия. SQLDataSources Функция, которая вызывается в 64-разрядном приложении, возвращает этот Пользовательский DSN для 32-разрядной версии. Тем не менее, если вы сделаете подключение через этот 32-разрядный пользователь DSN, появится сообщение об ошибке, упомянутое ранее в этом разделе.

Читайте также:  Checkpoint mobile mac os

Причина

Пользовательские имена DSN хранятся в следующем подразделе реестра:

Перенаправление реестра не включено для этого подраздела реестра. Таким образом, пользовательские имена DSN отображаются как в 32, так и в 64 – более ранних версиях средства Администратор ODBC.

Решение

Для обеспечения обратной совместимости в настоящее время не существует решения этой проблемы.

Обходной путь

Чтобы обойти эту проблему, используйте соответствующую версию средства администрирования ODBC. При построении и последующем запуске приложения в качестве 32ового приложения в 64 — разрядной операционной системе необходимо создать источник данных ODBC с помощью средства администрирования ODBC в файле %windir%\SysWOW64\odbcad32 . exe. Чтобы указать тип DSN, можно добавить «_32» к пользовательским источникам данных 32 и «_64» в 64 – битовые DSN пользователя.

Дополнительные сведения

Для управления пользовательскими DSN и системными DSN, которые используются в 64 – разрядных процессах, можно вызвать средство администрирования ODBC 64 с помощью панели управления. В 64-разрядной операционной системе для процессов Windows в Windows 64 (WOW64) используется средство администрирования 32-разрядной версии ODBC. Необходимо напрямую вызвать средство администрирования 32 для ODBC из папки SysWoW64 Для управления пользовательскими DSN и системными DSN, используемыми процессами WOW64, можно использовать средство администрирования ODBC 32 bit.

Системные имена DSN хранятся в следующем подразделе реестра:

Для этого подраздела реестра включена перенаправление реестра. Таким образом, системные имена DSN для 32 и 64 разрядов драйверов разделяются. В средстве администрирования 64 с помощью ODBC не отображаются системные имена DSN, созданные с помощью средства администратора ODBC 32. Аналогично, в средстве администрирования 32 для ODBC не отображаются системные имена DSN, созданные с помощью средства администратора ODBC 64. Кроме того, в средстве администрирования 64 для ODBC не отображаются системные имена DSN, использующие 32 – разрядные драйверы. Аналогично, в средстве администрирования 32 — разряде ODBC не отображаются системные имена DSN, использующие 64 – разрядные драйверы.

Пользовательские имена DSN хранятся в следующем подразделе реестра:

Перенаправление реестра не включено для этого подраздела реестра. Таким образом, оба средства администрирования ODBC отображают все пользовательские DSN.

Дополнительные сведения о перенаправлении реестра можно найти в разделе перенаправление реестра.

Odbcconnectexcel is only usable with 32 bit windows

This forum has migrated to Microsoft Q&A. Visit Microsoft Q&A to post new questions.

Answered by:

Question

How can utilize office 2010 excel 2010 32 bit on Win 7 64 bit OS to connect to Oracle 11g

DNS ODBC settings following all the guidance and articles still results in a failure to connect.

Worked correctly on previous OS Win 7 32 bit system.

Читайте также:  Как поставить эквалайзер windows 10

Seems like this should be simple and straight forward but it is not.

There should be technical support documents that resolve this issue.

Answers

If you want to use the Oracle ODBC drive on 64-bits of Windows 7, I would suggest you to choose at least the 11.x. version of the driver.

Then make sure to use the right version of the driver, for 32-bits Office 2010, please choose 32-bits ODBC driver from «C:\Windows\SysWOW64\odbcad32.exe» to create an DSN connection.

Note that with «C:\Windows\System32\odbcad32.exe», you will actually open 64-bits ODBC admin.

Hope this helps.

Ethan Hua CHN
TechNet Community Support

EarlGlynn / R-IO-Excel.R

# Examples of reading Excel files into R data.frame described here:
# http://earlglynn.github.io/R/input-output/Excel/index.html
# setwd(«») # Set working directory if necessary
# Examples
# 1. gdata package: read.xls
# 2. RODBC package: sqlFetch or sqlQuery
# efg, 2014-02-07
# ###########################################################
# ## gdata package using PERL: read.xls
# ## ActivePerl Community Edition on Windows can be used,
# ## http://www.activestate.com/activeperl
# ## Tested with 32 and 64 bit R with 64-bit ActivePerl
library( gdata )
d1 read.xls( » Sample.xls » , sheet = 1 ) # .xls or .xlsx
dim( d1 )
str( d1 )
d1a read.xls( » Sample.xlsx » , sheet = 1 , as.is = TRUE )
str( d1a )
# ###########################################################
# ## RODBC package: sqlFetch or sqlQuery
library( RODBC )
# «odbcConnectExcel is only usable with 32-bit Windows» i.e. R32
channel odbcConnectExcel( » Sample.xls » ) # Excel 2003 and earlier
# channel
sqlTables( channel )
d2 sqlFetch( channel , » Sample » ) # Worksheet name
str( d2 )
d2a sqlQuery( channel , paste( » SELECT Code,Amount,Start,Age,Grade » ,
» FROM [Sample$] » ,
» WHERE Grade = ‘B’ » ),
as.is = TRUE )
dim( d2a )
str( d2a )
close( channel )
# See additional RODBC examples from Madelaine — and RMySQL too
# http://research.stowers-institute.org/mcm/rmysql.html
# ###########################################################
# 64-bit R.
# ###########################################################
# ## xlsx package using Java: read.xlsx read.xlsx2
# If using 64-bit Java, must use 64-bit R.
library( xlsx )
d3 read.xlsx( » Sample.xls » , sheetIndex = 1 ) # .xls or .xlsx
dim( d3 )
str( d3 )
d3a read.xlsx( » Sample.xlsx » , sheetIndex = 1 ,
stringsAsFactors = FALSE )
str( d3a )
# ###########################################################
# ## XLConnect package using Java: readWorksheetFromFile
# If using 64-bit Java, must use 64-bit R.
# Avoid Java out-of-memory error for large Excel files.
# See p. 16, http://cran.r-project.org/web/packages/XLConnect/vignettes/XLConnect.pdf
options ( java.parameters = » -Xmx1024m » )
library( XLConnect )
d4 readWorksheetFromFile( » Sample.xlsx » , sheet = 1 ) # .xls or .xlsx
dim( d4 )
str( d4 )
d4

You can’t perform that action at this time.

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.

RODBC connect to Excel (64-bit Windows 7)

Classic List Threaded
Читайте также:  Rdp клиент под windows

RODBC connect to Excel (64-bit Windows 7)

Hi to all.
I have a problem to connect to an Excel database using RODBC.
Namely, I am using 64-bit R 2.14.0, under Windows 7 and I tried following:
library(RODBC)
> channel channel odbcDataSources()
dBASE Files
«Microsoft Access dBASE Driver (*.dbf, *.ndx, *.mdx)»
MS Access Database
«Microsoft Access Driver (*.mdb, *.accdb)»
Excel file
«Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)»
* results*
«Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)»

and tried again but it doesn’t work:

Re: RODBC connect to Excel (64-bit Windows 7)

Do you need to use RODBC specifically? I’ve been using XLConnect quite a lot recently and have been quite pleased with it.

On Dec 4, 2011, at 9:40 AM, andrija djurovic wrote:

Re: RODBC connect to Excel (64-bit Windows 7)

Hi. Not specifically, but I used it before with 32-bit R under Windows XP
and it worked just fine so i though to keep using it.Anyway I will lookt at
XLConnect.
Thank you for suggestion.
Andrija

On Sun, Dec 4, 2011 at 7:41 PM, R. Michael Weylandt wrote:

[[alternative HTML version deleted]]

______________________________________________
[hidden email] mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Re: RODBC connect to Excel (64-bit Windows 7)

andrija djurovic writes:
>
> Hi to all.
>
>.
>
> Thanks in advance
>
> Andrija

I am having the exact same problem. Any luck with this yet?

______________________________________________
[hidden email] mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Re: RODBC connect to Excel (64-bit Windows 7)

If you’re using (R)ODBC, you need a workflow that is either 32bit or
64-bit, but not mixed.

On a 64-bit Windows 7 machine, I can use 32-bit R and RODBC to read
and write 32-bit Excel (etc) and similarly xlsreadwrite works 32-bit.

I can use 64-bit R and XLConnect to read and write from excel
spreadsheets that then open nicely in 32-bit Excel.

Just requires a little care to know whether your workflow is 32 or 64 bit.

Paul
———————————————————
Paul Bivand
Associate Director of Analysis and Statistics
Centre for Economic & Social Inclusion
3rd floor, 89 Albert Embankment, London SE1 7TP
Inclusion website www.cesi.org.uk

On 23 May 2012 18:20, IzRey wrote:

Re: RODBC connect to Excel (64-bit Windows 7)

On Sun, Dec 4, 2011 at 9:40 AM, andrija djurovic wrote:
> Hi to all.
> I have a problem to connect to an Excel database using RODBC.

Оцените статью