代码无问题但ODBC驱动登录失败,如何检查SSMS登录状态?
SQL Server登录失败问题与SSMS登录状态检查
一、登录失败问题解决
你的代码里的pyodbc连接字符串缺少身份验证参数,所以才会报“Login failed for user ''”的错误,解决方法分两种情况:
1. 使用Windows身份验证(与当前Windows登录账号关联)
修改连接字符串,添加Trusted_Connection=yes;,同时注意CSV路径的转义问题:
def CSV(): import pyodbc import pandas as pd df = pd.read_csv(r"E:\bankmgt.csv") # 路径前加r避免转义字符干扰 cnxn= pyodbc.connect( r'DRIVER={ODBC Driver 18 for SQL Server};' r'SERVER=server;' # 替换为你的实际SQL Server实例名,比如localhost或具体服务器地址 r'DATABASE=BankManagement;' r'TrustServerCertificate=yes;' r'Trusted_Connection=yes;' ) cursor = cnxn.cursor()
2. 使用SQL Server身份验证(需指定账号密码)
若你的SQL Server采用账号密码登录,在连接字符串中添加登录凭证:
def CSV(): import pyodbc import pandas as pd df = pd.read_csv(r"E:\bankmgt.csv") cnxn= pyodbc.connect( r'DRIVER={ODBC Driver 18 for SQL Server};' r'SERVER=server;' r'DATABASE=BankManagement;' r'TrustServerCertificate=yes;' r'UID=你的SQL账号;' # 替换为实际登录账号 r'PWD=你的账号密码;' # 替换为对应密码 ) cursor = cnxn.cursor()
二、检查SSMS是否已登录
打开SSMS(SQL Server Management Studio)后,直接看界面顶部的状态栏:
- 已登录状态:状态栏会显示当前连接的服务器名称、数据库名称,以及你的登录账号(格式如
DESKTOP-XXX\Windows用户名或SQL Server账号) - 未登录状态:SSMS会直接弹出“连接到服务器”窗口要求输入登录信息;若之前登录后断开,状态栏会显示“已断开”,右键点击服务器选择“连接”即可重新登录。
内容的提问来源于stack exchange,提问作者Daisy 5678
相关产品推荐
相关产品推荐

