我试图在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)
首先确保你在sql light db的连接字符串上提供了正确的路径,使用这个conn = sqlite3.connect(“C:\ users \ guest \ desktop \ example.db”)
还要确保在单元测试和生产代码中使用SQLite库
检查sqlite连接字符串的类型并确定您的db属于哪一个:
基本数据源= c:\ mydb.db;版本= 3;此类库不支持版本2。
SQLite的
内存数据库
SQLite数据库通常存储在磁盘上,但数据库也可以存储在磁盘上
存储在内存中。阅读有关SQLite内存数据库的更多信息。
数据源=:内存:;版本= 3;新=真;
SQLite的
使用UTF16数据源= c:\ mydb.db; Version = 3; UseUTF16Encoding = True;
SQLite使用密码Data Source = c:\ mydb.db; Version = 3; Password = myPassword;
所以请确保为sql lite db编写了正确的连接字符串
如果你仍然看不到它,检查包含/ tmp的磁盘是否已满,它可能是加密数据库,还是被某些其他应用程序锁定和使用,你可以通过使用sql light数据库的众多工具之一来确认,
您可以使用此工具,尝试直接导航到您的数据库所在的位置,它将为您提供问题的指示。
祝好运