我正在尝试在python中打开.sqlite3文件,但看不到任何信息返回。因此,我尝试了r,但仍然无法获得表格。我想知道此文件中有哪些表。 我将以下代码用于python:
import sqlite3
from sqlite3 import Error
def create_connection(db_file):
""" create a database connection to the SQLite database
specified by the db_file
:param db_file: database file
:return: Connection object or None
"""
try:
conn = sqlite3.connect(db_file)
return conn
except Error as e:
print(e)
return None
database = "D:\\...\assignee.sqlite3"
conn = create_connection(database)
cur = conn.cursor()
rows = cur.fetchall()
但是行是空的! 这是我从以下位置获取assignee.sqlite3的地方: https://github.com/funginstitute/downloads
我也尝试过RStudio,下面是代码和结果:
> con <- dbConnect(drv=RSQLite::SQLite(), dbname="D:/.../assignee")
> tables <- dbListTables(con)
答案 0 :(得分:0)
首先请确保您在与sql的连接字符串上提供了正确的路径 光分贝 使用此conn = sqlite3.connect(“ C:\ users \ guest \ desktop \ example.db”)
还要确保在单元测试和生产代码中使用SQLite库
检查sqllite连接字符串的类型并确定您的数据库属于哪个:
基本 数据源= c:\ mydb.db;版本= 3; 该类库不支持版本2。
SQLite
内存数据库
SQLite数据库通常存储在磁盘上,但该数据库也可以
存储在内存中。了解有关SQLite内存数据库的更多信息。
Data Source =:memory:; Version = 3; New = True;
SQLite
使用UTF16 数据源= c:\ mydb.db;版本= 3; UseUTF16Encoding = True;
SQLite 带密码 数据源= c:\ mydb.db;版本= 3;密码= myPassword;
因此请确保您为sql lite数据库写了正确的连接字符串
如果仍然看不到它,请检查包含/ tmp的磁盘是否完整,否则,它可能是加密数据库,或者可能被其他应用程序锁定并使用了,您可以通过使用许多用于sql light的工具来确认数据库
您可以缩编该工具,尝试直接导航到数据库所在的位置,它会向您指示问题。
祝你好运