如何对含特殊字符的Pyodbc连接字符串密码转义以连接MSSQL
解决pyodbc连接MSSQL时含特殊字符密码的转义问题
方案1:手动转义密码(拼接连接字符串时)
根据ODBC连接字符串的语法规则,处理含特殊字符的密码需遵循两个规则:
- 用**大括号
{}**包裹整个密码 - 密码内部的大括号
{或}需替换为两个连续的大括号{{或}}
针对你的示例密码fdfs{;S'fd,_dj.fsgdfgdf,转义后的密码为{fdfs{{;S'fd,_dj.fsgdfgdf},对应的连接字符串示例:
connection_str = "DRIVER={ODBC Driver 17 for SQL Server};SERVER=你的服务器地址;DATABASE=你的数据库名;UID=你的用户名;PWD={fdfs{{;S'fd,_dj.fsgdfgdf}" conn = pyodbc.connect(connection_str)
方案2:使用关键字参数连接(更推荐)
无需手动处理转义,直接将密码作为关键字参数传入pyodbc.connect(),pyodbc会自动处理特殊字符:
conn = pyodbc.connect( driver='{ODBC Driver 17 for SQL Server}', server='你的服务器地址', database='你的数据库名', uid='你的用户名', pwd="fdfs{;S'fd,_dj.fsgdfgdf" )
这种方式避免了手动拼接字符串时的转义错误,代码可读性和安全性更高。
内容的提问来源于stack exchange,提问作者chirag7jain
相关产品推荐
相关产品推荐

