【问题标题】:Pyodbc connection to SQL Server failed - neither DSN nor SERVER keyword suppliedPyodbc 与 SQL Server 的连接失败 - 既没有提供 DSN 也没有提供 SERVER 关键字
【发布时间】:2021-07-30 14:38:55
【问题描述】:

我正在尝试使用 pyodbc 插入我的 SQL Server 数据库。但我永远无法实现它。请帮帮我。

顺便说一句;我在之前的代码 sn-p 中定义了index_pred_as_int

我的代码:

import pyodbc 

server = 'DESKTOP-T7OFQV6\SQLEXPRESS1'
database = 'VidgaEmotionRecognition'

#defining connection string
cnxn = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server}; \\\
                       SERVER=' + server + '; \\\
                       DATABASE=' + database +';\\\
                       Trusted_Connection=yes;')

#creating the connection cursor
cursor = cnxn.cursor()

#defining insert query
insert_query='''INSERT INTO FaceEmotion (emotion)
                VALUES (?);'''

#defining insertion value
values = index_pred_as_int

#insert the data
cursor.execute(insert_query, values)

#commit the insertion
cnxn.commit()

#grab the database table values
cursor.execute('SELECT * FROM FaceEmotion')

#printing the results
for values in cursor:
    print(values)

这是错误:

操作错误

Traceback(最近一次通话最后一次)


18 #定义连接字符串
---> 19 cnxn = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server}; \\
20服务器='+服务器+'; \\
21 数据库='+数据库+';\\

OperationalError: ('08001', '[08001] [Microsoft][ODBC Driver 17 for SQL Server]DSN 和 SERVER 关键字均未提供 (0) (SQLDriverConnect); [08001] [Microsoft][ODBC Driver 17 for SQL服务器]无效的连接字符串属性 (0)')

【问题讨论】:

    标签: python sql-server pyodbc


    【解决方案1】:

    我不确定我是否理解 \\\ 应该如何工作,但我认为他们正在破坏它。我在我的计算机上设置了类似的连接并使用了相同的连接字符串并得到了相同的错误。当我将整个连接字符串放在一行上时,它似乎工作得很好。

    cnxn = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server};SERVER=' + server + ';DATABASE=' + database +';Trusted_Connection=yes')
    

    编辑:如果你只使用一个\ 来划分你的行,而不是那个三倍,它似乎也可以正常工作。

    【讨论】:

    • 非常感谢伙计!你刚刚救了我。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-12-05
    • 2017-08-13
    • 2023-03-05
    • 2015-08-02
    • 2012-09-14
    • 1970-01-01
    • 2017-04-15
    相关资源
    最近更新 更多