Book a Demo

Author Topic: Unable to import schema via ODBC  (Read 6067 times)

Colin Davies

  • EA Novice
  • *
  • Posts: 2
  • Karma: +0/-0
    • View Profile
Unable to import schema via ODBC
« on: December 04, 2014, 08:25:57 am »
I am using a trial copy of EA 11. I am trying to reverse engineer an Oracle 11g database on my PC. When I try to configure the ODBC source in EA, I get the following message:

"The specified DSN contains an architecture mismatch between the Driver and Application"

The ODBC driver works fine with other programs. Any ideas? I really ned to be able to reverse engineer databases.

MMA

  • EA User
  • **
  • Posts: 63
  • Karma: +3/-0
    • View Profile

Colin Davies

  • EA Novice
  • *
  • Posts: 2
  • Karma: +0/-0
    • View Profile
Re: Unable to import schema via ODBC
« Reply #2 on: December 04, 2014, 09:03:00 am »
My ODBC drivers are 32 bit. How can I determine whether EA is 32 or 64 bit? Assuming it's 64 bit, I expect I will have to install a 64 bit ODBC driver.

Eve

  • EA Administrator
  • EA Guru
  • *****
  • Posts: 8110
  • Karma: +119/-20
    • View Profile
Re: Unable to import schema via ODBC
« Reply #3 on: December 04, 2014, 09:11:25 am »
Enterprise Architect is only available as 32 bit. So if your drivers are 32 bit that isn't the problem.

MMA

  • EA User
  • **
  • Posts: 63
  • Karma: +3/-0
    • View Profile
Re: Unable to import schema via ODBC
« Reply #4 on: December 04, 2014, 09:55:43 am »
Quote
My ODBC drivers are 32 bit.

According to Microsoft's KB942976: http://support.microsoft.com/kb/942976

The Symptom: The 32-bit version of the ODBC Administrator tool displays 32-bit system DSNs, 32-bit user DSNs, and 64-bit user DSNs. The 64-bit version of the ODBC Administrator tool displays 64-bit system DSNs, 32-bit user DSNs, and 64-bit user DSNs.

Step 1. Is this a user DSN or system DSN?
Open C:\WINDOWS\SYSWOW64\odbc32.exe
If the DSN appears at User DSN, then
    go to step 2;
ElseIf the DSN appears at System DSN, then
    it is a 32 bit System DSN.

Step 2. How to tell is 32 bit or 64 bit ODBC driver is your User DSN using?
Open your Registry Editor (with Administrator privilege open cmd.exe, type "regedit"), navigate to HKEY_CURRENT_USER\Software\ODBC\ODBC.INI and find your User DSN
Under the "Driver", what is the path of the Data?
E.g. if is something like "C:\Program Files (x86) or C:\Windows\SysWow64" then it is 32 bit.
Or, for a more complicated case: my driver is pointing to: C:\Oracle\product\11.2.0\client_1\SQORA32.DLL
This DLL does not exist in 64 bit ODBC Data Source Administrator, Driver tab; but exists in the 32 bit version of ODBC Data Source Administrator, Driver tab. So it is 32 bit.

Step 3[optional]. if you launch "c:\windows\system32\odbcad32.exe" to start the 64 bit version (the name is interesting, isn't it?). Is your DSN in System DSN? if Yes, then it is 64 bit System DSN; Otherwise, go to step 2.

Now you should be able to tell which (User or System?) (32 bit or 64 bit?) version of your DSN is.
« Last Edit: December 04, 2014, 10:02:03 am by milesma »