PYODBC запрашивает учетные данные, хотя это часть моего кода cxn, как я могу автоматически войти в систему? - PullRequest
0 голосов
/ 24 октября 2018
import pyodbc

cn = pyodbc.connect(driver ='{NexusDB V3.10 Driver }',server = 'name', DATABASE ='db', UID='usr123',PWD='pass123',)

cn.close()

При запуске появляется окно для повторного ввода имени пользователя и пароля?

Затем я повторно ввожу usr123, pass123 и создаю соединение.

What AmЯ делаю неправильно или как я могу автоматизировать вход в БД

Я работаю с очень устаревшей БД, драйвером является драйвер NexusDB V3.10 32-битный драйвер odbc.

Например, когда я подключаю свой dsn к excel, он не запрашивает учетные данные.

Я пытался подключиться напрямую к DSN:

import pyodbc

cn = pyodbc.connect('DSN = db;UID=usr123;PWD=pass123')

cn.close()

Ноэто дает мне ошибку, где я должен указать драйвер.

1 Ответ

0 голосов
/ 26 октября 2018

Я выяснил свой код, он в основном остался прежним, мне нужно было указать и DSN, и драйвер.Оказывается, как я делал это до того, как создавал временный DSN вместо того, чтобы использовать уже установленный системный DSN.Код ниже исправил это:

import pyodbc

cn = pyodbc.connect('DSN=DsnName; DRIVER ={NexusDB V3.10 Driver }; DATABASE =db; 
UID=usr123;PWD=pass123')

cn.close()
...