DatabaseError: file is encrypted or is not a database

DatabaseError: file is encrypted or is not a database

我正在尝试使用以下代码将我的 .sql 数据库与 python 版本 2.7.9 连接:

import sqlite3
db = sqlite3.connect("c:\Users\afsoon\Desktop\ch9learning\sql\genres.sql")
cursor = db.cursor()
query = """SELECT * FROM mytable where genre='folk'"""
lines = cursor.execute(query)
data = cursor.fetchall()
db.close()

但我发现了这个错误:

lines = cursor.execute(query)
Traceback (most recent call last):

  File "<ipython-input-10-af02982f9f74>", line 1, in <module>
    lines = cursor.execute(query)

DatabaseError: file is encrypted or is not a database
 

我在 windows 我有 sqlite3!

p.s: 这些是我的数据库第一行

-- phpMyAdmin SQL Dump
-- version 4.5.1
-- http://www.phpmyadmin.net
--
-- Host: 127.0.0.1
-- Generation Time: Dec 23, 2015 at 09:29 AM
-- Server version: 10.1.9-MariaDB
-- PHP Version: 5.6.15

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;

--
-- Database: `genres`
--
CREATE DATABASE IF NOT EXISTS `genres` DEFAULT CHARACTER SET utf8 COLLATE utf8_persian_ci;
USE `genres`;

-- --------------------------------------------------------

--
-- Table structure for table `mytable`
--

CREATE TABLE `mytable` (
  `genre` varchar(640) COLLATE utf8_persian_ci DEFAULT NULL,
  `track_id` varchar(50) COLLATE utf8_persian_ci DEFAULT NULL,
  `artist_name` varchar(248) COLLATE utf8_persian_ci DEFAULT NULL,
  `title` varchar(248) COLLATE utf8_persian_ci DEFAULT NULL,
  `keyy` decimal(13,10) DEFAULT NULL,
  `modee` decimal(13,10) DEFAULT NULL,
  `duration` decimal(14,10) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_persian_ci;

--
-- Dumping data for table `mytable`

您必须将数据导入 SQLite。由于您的文件是 MySQL 的导出文件,因此可能存在导入问题,您可能需要手动修复某些行。

但基本上您必须创建一个新的 SQLite 数据库文件并导入您的 SQL。为此,您需要 sqlite3 二进制文件。 运行 在命令行上:

sqlite3 your_new_db.sqlite
sqlite> .read genres.sql