python - 将 Python 中的值插入 SQL Server
问题描述
我想从 Python 将值插入到 SQL Server 表中。
这是我在 SQL Server 中的表:
CREATE TABLE DB.type.[Ref]
(
[Type_Ref] varchar(65),
[ID_match] varchar(65),
[Data] varchar(65)
PRIMARY KEY ([Type_Ref], [ID_match])
)
要从 python 插入值,我编写了以下代码:
conn = pyodbc.connect('Driver={ODBC Driver 17 for SQL Server};'
'Server=????;'
'Database=DB;'
'Trusted_Connection=yes;')
cursor = conn.cursor()
sql = "INSERT INTO DB.Ref (Type_Ref, ID_match, Data) VALUES (?, ?, ?)"
cursor.execute(sql, (DATA[Type_Ref], DATA[ID_match], DATA[Data]))
conn.commit()
cursor.close()
conn.close()
但是,当我运行 Python 时,我在 SQL Server 中看不到任何数据行......
在我运行上面的 python 代码之后,我注意到我的 IDE 给出了这个:
进程以退出代码 -1073741819 (0xC0000005) 结束
解决方案:我通过删除sql-server中的表并创建一个新表解决了这个问题。
解决方案
我认为你没有正确构建你的 conn 对象。当我尝试匹配您的模式时,我收到一个 TypeError。试试这个:
server='server'
database='database'
user='username'
password='secret'
conn = pyodbc.connect(
server=server,
database=database,
user=username,
password=password,
port=1433,
driver='ODBC Driver 17 for SQL Server'
)
您的其余代码看起来应该可以正常工作。
推荐阅读
- android - 原因:java.lang.IllegalStateException:没有为此提供程序指定值
- database - 由子查询返回
- java - 为什么uDig的渲染图比我的好看很多
- javascript - 如何更改此方法的控制通量变量
- python - Python - 日期标记文本文件的每一行
- angular - mat-tree 遇到 css 网格
- blueprism - selectContextMenuItem 方法返回“该方法的参数无效”
- ruby - 一段时间后,使用 slack-ruby-bot gem 从 slack bot 获得多个答案
- reactjs - appendchild 一个 React 组件消息
- php - 删除表单元素的表单更新时实体关系设置为空