Как я могу создать соединение ODBC с SAS?

Я пишу программу, которая должна получить доступ к данным SAS. Я загрузил драйверы ODBC для SAS и установил их, но я должен смочь создать соединения ODBC на лету, программно. Следующий код (в Python) кажется, что должен работать:

import ctypes

ODBC_ADD_DSN = 1        

def add_dsn(name, driver, **kw):
    nul, attrib = chr(0), []
    kw['DSN'] = name
    for attr, val in kw.iteritems():
        attrib.append('%s=%s' % (attr, val))

    return ctypes.windll.ODBCCP32.SQLConfigDataSource(0, ODBC_ADD_DSN, driver, nul.join(attrib)) == 1

print add_dsn('SAS Test', 'SAS', description = 'Testing SAS')

Но это открывается диалоговое окно конфигурации ODBC SAS, устанавливает имя источника данных и ожидает пользователя, чтобы ввести информацию и отклонить диалоговое окно. Как я могу избежать этого?

7
задан Dominic Comtois 14 July 2016 в 03:58
поделиться

2 ответа

Я ничего не знаю о SAS, но для подключения к базе данных на лету в ODBC используется функция SQLDriverConnect . Вам не нужно (или не хотите) добавлять DSN, вам просто нужно установить драйверы.

0
ответ дан 7 December 2019 в 14:31
поделиться

Чтобы получить доступ ODBC к данным SAS, вам необходимо подключиться к какому-либо запущенному сеансу SAS; вы не можете получить доступ к файлам таблиц данных SAS напрямую с помощью драйверов SAS ODBC.

См. руководство по драйверам SAS ODBC , раздел «Какое программное обеспечение мне нужно?».

В вашем вопросе не говорится, что вы пытаетесь получить доступ к данным SAS через работающий продукт SAS. Руководство по драйверам SAS ODBC должно рассказать вам, как установить соединение на основе продукта SAS, через который вы будете устанавливать соединение.

3
ответ дан 7 December 2019 в 14:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: