我正在使用python的pyodbc库连接oracle数据库。对非prod服务器的身份验证设置为基本身份验证,因此我的连接字符串运行良好。
最初很难理解和设置正确的驱动程序,但后来成功通过了。下面是用于连接的代码,它在我的其他服务器上运行良好。
import textwrap
import pyodbc
connection_string = textwrap.dedent('''Driver={driver};
DBQ={hostname}:{port}/{sid};
UID={username};
PWD={password};
Connection Timeout=30;
Trusted_Connection="yes"
'''.format(driver = 'Oracle in instantclient_11_2',
hostname = <hostname>,
port = <port>,
sid = <sid>,
username = <username>,
password = <passwd>
))
connection = pyodbc.connect(connection_string)
令我惊讶的是,prod仅通过ldap进行身份验证。我有ldap服务器、上下文和db服务以及凭据。
我尝试创建我的连接字符串作为
connection_string = textwrap.dedent('''Driver={driver};
DBQ={hostname}:{port}/{sid};
UID={username};
PWD={password};
Connection Timeout=30;
Authentication=LDAP;
Trusted_Connection="yes"
'''.format(driver = 'Oracle in instantclient_11_2',
hostname = <ldap_server>,
port = 389,
sid = <db_service>,
username = <username>,
password = <passwd>
))
对于这一点,我并不感到惊讶,因为我知道这是行不通的。尝试通过许多链接,但无法通过。以前有没有人试过这个,或者请让我知道我错过了什么。
我完全可以使用ldap身份验证在sql developer中连接。由于此服务器上未配置tns listener,我无法使用基本身份验证进行连接。
欢迎在这方面提供帮助。
暂无答案!
目前还没有任何答案,快来回答吧!