python - pyodbc 错误咨询 MS 访问数据库
问题描述
我正在尝试执行一些存储在 json 文件中的 Sql Queries ,此时,一切似乎都很好,但是当第二个查询执行时,运行错误,第二个和第三个查询必须从第二个加载数据database ,所有数据库都是 Microsoft Access 数据库。
我从一个名为"path.json"
的包含以下内容的 json 文件加载数据库文件存储在我的 pc 中的路径:
{
"path":"C:\\Users\\Ricardo Roa\\Documents\\pb\\"
}
第二个 json 文件queries.json
,包含 sql 查询:
{
"querie_0":"select * from censo0",
"querie_1":"select * from censo1",
"querie_2":"select * from censo2"
}
这是我的代码:
import os
import json as js
import pyodbc as con
import pandas as pd
def conections():
files = str
with open(r'C:\Users\Ricardo Roa\Documents\pb\path.json') as json_file:
data = js.load(json_file)
for key , items in data.items():
path = items
for root, dirs, files in os.walk(path):
for file in files:
if file.endswith(".accdb"):
files = ((os.path.join(root, file)))
conn = con.connect(r'Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ='+files+';')
Db2 = pd.DataFrame()
df = pd.DataFrame()
with open(r'C:\Users\Ricardo Roa\Documents\pb\queries.json') as q_file:
queries = js.load(q_file)
for key, value in queries.items():
queries = value
Db1 = pd.read_sql(''+queries+'',conn)
Db2 = Db2.append(Db1)
df = df.append(Db2)
return df
这是错误:
DatabaseError: Execution failed on sql 'select * from censo1': ('42S02', "[42S02] [Microsoft][ODBC Microsoft Access Driver] The Microsoft Access database engine cannot find the input table or query 'censo1'. Make sure it exists and that its name is spelled correctly. (-1305) (SQLExecDirectW)")
请在这里提供一些帮助。
这是我电脑中的文件: 在此处输入图像描述
解决方案
推荐阅读
- arrays - Numpy 迭代和追加
- c - if 语句检查是否将 char 指针放入其中
- r - R Shiny app .httr-oauth 在 docker 上的行为与在服务器或本地的行为不同
- python - 使用递归的链表反向打印的意外结果
- python - 为什么我在尝试抓取网页后得到一个空列表?
- sql-server - 如何将第一个日期类型转换为带有连接文本的 varchar
- c# - 如果没有外键,为什么 Entity Framework Core 会生成导航属性?
- sql - 使用单个查询(SQL Server)插入第一个表并更新第二个表中的记录
- sql-server-2014 - 删除查询记录
- enums - Rust 中的简单枚举应该派生哪些特征?