I'm writing a program that needs to access SAS data. I've downloaded the ODBC drivers for SAS and installed them, but I need to be able to create ODBC connections on the fly, programmatically. The following code (in Python) seems like it should work:
import ctypesODBC_ADD_DSN = 1 def add_dsn(name, driver, **kw):nul, attrib = chr(0), []kw['DSN'] = namefor attr, val in kw.iteritems():attrib.append('%s=%s' % (attr, val))return ctypes.windll.ODBCCP32.SQLConfigDataSource(0, ODBC_ADD_DSN, driver, nul.join(attrib)) == 1print add_dsn('SAS Test', 'SAS', description = 'Testing SAS')
But it pops up the SAS ODBC configuration dialog, sets the datasource name, and waits for the user to enter the information and dismiss the dialog. How can I avoid that?