During my Autodesk University class this past week, there was a question regarding connecting to ESRI ArcSDE using AutoCAD Map 3D FDO. Specifically, someone asked about connecting to an ArcSDE Geodatabase at version 10.1 – they could not get it to work. So I did some testing and I found a lot of in depth information that I wanted to share.
ESRI ArcSDE Connection Factors
These are the factors that seem to play into whether or not you can successfully connect to ArcSDE via FDO:
- 64 bit vs. 32 bit
- ArcSDE DBMS (Oracle/SQL Server)
- ESRI DLL files
ESRI ArcSDE Testing Environment
- Windows Server 2008 R2, 64 bit
- SQL Server 2008 R2 (Oracle was not tested)
- ArcSDE for SQL Server Windows 64
- ArcSDE Geodatabases – both version 10.0 and 10.1 are represented.
- Windows 7, 64 bit
- AutoCAD Map 3D 2013, SP2.1
- AutoCAD Map 3D 2014
Required ESRI Assemblies (dlls) for AutoCAD Map 3D FDO Connection
However, during my testing, I found that I needed the following additional DLL files:
I was fooled into thinking that the first three DLL files were all that I needed. The reason is that I had those three files in the AutoCAD Map 3D bin FDO folder, and I was able to establish a connection. I even deleted those three files from the bin FDO folder, and I was still able to connect. After further inspection, I noticed that I had an ESRI path in my system path environment variable (C:\Program Files\ArcGIS\ArcSDE\sqlexe\bin\):
The contents of this path are the true reason that I was able to establish a connection. There are 44 files in that path and I wanted to know which ones I truly needed. After further inspection, I narrowed down the need to the seven DLL files mentioned above. Why is this path in my system path? This particular path is part of the “ArcSDE for Microsoft SQL Server” application that I have installed on my computer. But that really doesn’t matter. What matters is that Map 3D is able to find the seven DLL files above and for the correct configuration (64 bit vs. 32 bit).
Does connection to ArcSDE for Oracle require different DLL files? I don’t know. Based on the name of some of the above DLL files (gsrvrsql101.dll and sdesqlsrvr101.dll), I would hypothesize yes.
Where should you place the DLL files? You can use any folder that is in the system path statement or the AutoCAD support file search path. The bin FDO folder is fine too:
C:\Program Files\Autodesk\AutoCAD Map 3D 2013\bin\FDO
C:\Program Files\Autodesk\Autodesk AutoCAD Map 3D 2014\bin\FDO
32 bit vs. 64 bit
If you are running a 64 bit version of AutoCAD Map 3D you need the 64 bit versions of the ESRI DLL files. If you are running a 32 bit version of AutoCAD Map 3D you need the 32 bit versions of the ESRI DLL files. 32 bit versions of the DLL files can be found in the bin folder for the “ArcGIS for Desktop” application. I found 64 bit versions as part of the “ArcSDE for Microsoft SQL Server” installation. I’m guessing that they can be found elsewhere too. In all cases, you need to get these DLL files from ESRI.
10.0 vs. 10.1
All of my testing was with version 10.1 of the ESRI DLL files. I successfully tested connections to both 10.0 and 10.1 Geodatabases. I did not test 10.2 Geodatabases.
AutoCAD Map 3D Versions
I was able to connect using AutoCAD Map 3D 2014, AutoCAD Map 3D 2013, and Civil 3D 2012. Civil 3D has the same Map 3D Data Connectivity built in.
Here’s what the connection looks like in AutoCAD Map 3D.
After clicking the Login button, I actually have to type in the name of the data store that I’m interested in (i.e. a list does not appear automatically).
Click Connect and the list of available feature classes should appear. After that, it was easy to select the desired feature classes and modify the data.