sqlite文件在python和r中显示为空

问题描述 投票:0回答:1

我试图在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)

但这就是我得到的enter image description here

python r sqlite rsqlite
1个回答
0
投票

首先确保你在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数据库的众多工具之一来确认,

您可以使用此工具,尝试直接导航到您的数据库所在的位置,它将为您提供问题的指示。

download windows version

Download Mac Version

Download linux version

祝好运

© www.soinside.com 2019 - 2024. All rights reserved.