Showing results for 
Search instead for 
Did you mean: 

64 bit GFSODBC.dll where is it?

Go to solution

Hey Guys

I have always used 32 bit versions of DIadem but recently I have decided to migrate all of my development in 64 bit versions.


I am working with the following 64 bit version; 2015 SP1 and  2017 SP1 Beta


According to the knowledge base the extensions should be located here

C:\Program Files (x86)\National Instruments\DIAdem 2015\Addinfo\GfSODBC.dll


C:\Program Files (x86)\National Instruments\DIAdem 2017\Addinfo\GfSODBC.dll

When I navigate either of  these locations the GPI extensions I want do not exist.


My 2015 SP1 32 bit version of DIAdem refers to the following location for GPI extensions

C:\Program Files (x86)\National Instruments\DIAdem 2015\Addinfo and there is also

C:\Program Files (x86)\National Instruments\DIAdem 2017\Addinfo


The GPI extensions I require exist in both locations here however when I load them into 64 bit versions of DIAdem I get and error stating "No 64 bit .DLL"


Any ideas where I can get the ODBC.dll for 64 bit versions of DIAdem?




0 Kudos
Message 1 of 6

:-( I assume it is not available for 64bit. Here is what the Release notes say.


  • The GPI extension GfSODBC.DLL is no longer available. Use the ADO interface in DIAdem instead. Refer to ADO in the online help for more information.


0 Kudos
Message 2 of 6

Oh brother you guys are killing me :-(


I have to rewrite all my scripts using ActiveX objects to communicate with our DB?



0 Kudos
Message 3 of 6

Additional Odd behavior

I have just installed DIAdem 2017 32 BIT SP1 and did not load the GFSODBC.dll and my database query script works however it does not work on the 2017 64bit SP1 application.


It appears I am already utilizing ActiveX object to access our data base. see below.

Function GetFilePathway(engNumber)

Dim oConn, sAdoConnectString, oRS, strQuery 

      'Set AdoConString constant to Merlin Server address
      AdoConString = "Driver={MySQL ODBC 5.1 Driver};Server=HIDDEN;Database=HIDDEN;User=HIDDEN;Password=HIDDEN"
      Set oConn = CreateObject("ADODB.Connection")      'Create Database Connection
      Set oRS = CreateObject("ADODB.Recordset")         'Create Database Recordset
      sAdoConnectString = AdoConString
      oConn.Open sAdoConnectString                      'Open Database Connection
     On Error Resume Next 
      strQuery = GetELR2TestInfoQueryStr(engNumber)     'Set Database query to string
      Set oRS.ActiveConnection = oConn                  'Point Database record set object to open database connection
      oRS.Open strQuery                                 'Perform database recordset query
      oRS.MoveFirst                                     'move the resultant record row to first position 
      GetFilePathway = "S:\FBELR_Data\" &Cstr(oRS.Fields(2).Value) &"\" &engNumber '&"\D160083c_Valid Test_Use_This_One\" 
      If (Err.number <> 0) Then
        Msgbox("could not locate " &engNumber)
      End If
        Set oConn = Nothing
      On error goto 0
 End Function
0 Kudos
Message 4 of 6

You need an driver for 64 bit driver.


Following script may help you to determine which drivers are installed.

It also has a button to test the connection.


Option Explicit

if ADOConStrGet then
  LogFileWrite ADOConString
end if

P.S.: The dialog shown belongs to the MS ADO system.

0 Kudos
Message 5 of 6
Accepted by topic author smoothdurban
08-17-2017 04:28 AM

Once I installed the 64bit driver I was able to get my script to work.


It may be worth noting that if a client has applications that require the use of a 32 bit driver installing a 64bit driver may cause some problems.


To retain this functionality my application required a 32bit driver so I needed to reinstall a 32 bit driver of equal revision level.



0 Kudos
Message 6 of 6