我正在尝试测试将数据帧推送到 SQL Server 的脚本。
这是我到目前为止所拥有的:
import pandas as pd
import pyodbc
conn_str = (
r'Driver={SQL Server};'
r'SERVER=wouldntuliketoknow\SQLEXPRESS;'
r'Database=test;'
r'Trusted_Connection=yes;'
)
cnxn = pyodbc.connect(conn_str)
cursor = cnxn.cursor()
globalID = [9581091, 9581091, 79735371, 79735371, 79735371]
ID = [53506312, 961273620, 53506312, 79735371, 135962137]
names = ['meh',
'cool',
'dude whatever',
'foo',
'bar']
df = pd.DataFrame({'globalID': globalID, 'ID': ID, 'name': names})
df.to_sql("pandas", cnxn)
print(conn_str)
它抛出一个错误:
pandas.io.sql.DatabaseError: 执行失败 sql 'SELECT name FROM sqlite_master WHERE type='table' AND name=?;': ('42S02', "[42S02] [Microsoft][ODBC SQL Server Driver][SQL服务器]无效的对象名称'sqlite_master'。(208)(SQLExecDirectW)“)
我究竟做错了什么?
我不确定错误中的 sqllite_master 来自哪里?
游标是必需的吗?