pyodbc:多个连接问题,.ipynb 文件中的 DML 语句未反映在 SQL 服务器中
pyodbc: multiple connection issues, DML statements in .ipynb files not reflected in SQL Server
我正在使用 pyodbc 连接到本地计算机上的数据库。我有两个 .ipynb 文件,分别负责填充该数据库中的两个关系。
我有两个令人不安的观察结果:
如果一个游标连接到一个文件中的数据库,另一个游标连接到另一个文件中的数据库,则只有一个游标能够执行 DML 并从数据库中检索语句。
如果一个文件中的一个游标将元组插入到一个关系中,然后与数据库断开连接,然后另一个文件中的游标尝试从该关系中检索更新的信息第一个光标,没有信息被检索到。这与在 SQL 服务器中执行 select 语句相同。
以下是每个文件中发生的事情的概括:
File1.ipynb:
cursor.connect(...)
cursor = conn.cursor()
# big array of commands
commands = ["insert into ... values ...", "insert into ... values ..."]
for line in commands:
cursor.execute(line)
打印出游标的内容说明语句执行成功
现在 file2.ipynb:
cursor.connect(...)
cursor = conn.cursor()
cursor.execute("select * from updatedTable") # this line hangs
for row in cursor:
print(row) # if cursor is disconnected from file1, still nothing is printed
任何帮助解决多个连接和确认数据持久性的帮助将不胜感激。
更新:必须执行 cnxn.commit() 才能保留更改。
我不知道命令 cnxn.commit(),在使用它之后我实现了预期的行为。
我正在使用 pyodbc 连接到本地计算机上的数据库。我有两个 .ipynb 文件,分别负责填充该数据库中的两个关系。
我有两个令人不安的观察结果:
如果一个游标连接到一个文件中的数据库,另一个游标连接到另一个文件中的数据库,则只有一个游标能够执行 DML 并从数据库中检索语句。
如果一个文件中的一个游标将元组插入到一个关系中,然后与数据库断开连接,然后另一个文件中的游标尝试从该关系中检索更新的信息第一个光标,没有信息被检索到。这与在 SQL 服务器中执行 select 语句相同。
以下是每个文件中发生的事情的概括:
File1.ipynb:
cursor.connect(...)
cursor = conn.cursor()
# big array of commands
commands = ["insert into ... values ...", "insert into ... values ..."]
for line in commands:
cursor.execute(line)
打印出游标的内容说明语句执行成功
现在 file2.ipynb:
cursor.connect(...)
cursor = conn.cursor()
cursor.execute("select * from updatedTable") # this line hangs
for row in cursor:
print(row) # if cursor is disconnected from file1, still nothing is printed
任何帮助解决多个连接和确认数据持久性的帮助将不胜感激。
更新:必须执行 cnxn.commit() 才能保留更改。
我不知道命令 cnxn.commit(),在使用它之后我实现了预期的行为。