Если вы хотите быстрый и грязный способ с CPython (также работает для 3.X Python):
Установите PYWIN32 после установки python http://sourceforge.net/projects/pywin32/files/pywin32/
Импорт следующей библиотеки:
импорт odbc
Я создал следующий метод для получения драйвера odbc для SQL Server (он немного отличается в именовании в зависимости от вашей версии Windows, так что он получится независимо):
def getSQLServerDriver():
key = winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, r"SOFTWARE\ODBC\ODBCINST.INI")
sqlServerRegExp = re.compile('sql.*server', re.I | re.S)
try:
for i in range(0, 2048):
folder = winreg.EnumKey(key, i)
if sqlServerRegExp.match(folder):
return folder.strip()
except WindowsError:
pass
Примечание: если вы используете вышеуказанную функцию, вам также необходимо импортировать эти две библиотеки: winreg и re
Затем вы используете информацию odbc API 1, как определено здесь: http://www.python.org/dev/peps/pep-0248/
Строка интерфейса вашего подключения должна выглядеть примерно так (при условии, что вы используете мой вышеописанный метод для получения имени драйвера ODBC, и это надежное соединение):
dbString = "Driver={SQLDriver};Server=[SQL Server];Database=[Database Name];Trusted_Connection=yes;".replace('{SQLDriver}', '{' + getSQLServerDriver() + '}')
У этого метода много недостатков. Это неуклюже из-за поддержки только ODBC API 1, и есть несколько мелких ошибок в API или драйвере ODBC, с которыми я столкнулся, но он выполняет свою работу во всех версиях CPython в Windows.