python - 找不到数据库文件
问题描述
mysql.connector.errors.ProgrammingError:1049(42000):未知数据库'prototype.db'
每次运行 python database.py 时都会出现此错误,这是文件的名称,而 Prototype.db 是数据库文件的名称。有什么帮助吗?
这是 database.py 文件的代码
import mysql.connector
#to create a database instance
MyDB = mysql.connector.connect(
host = "Localhost",
database = "Prototype.db",
user = "root",
password = ""
)
#a cursor is an object we use to interact with the database
MyCursor = MyDB.cursor()
MyCursor.execute("CREATE TABLE IF NOT EXISTS Images (id INTEGER(45) NOT NULL AUTO_INCREMENT PRIMARY KEY, Photo BLOB NOT NULL")
#to select the file to upload
def InsertBlob(FilePath):
with open(FilePath, "rb") as File:
BinaryData = File.read()
SQLStatement = "INSERT INTO Images (Photo) VALUES (%s)"
MyCursor.execute(SQLStatement, (BinaryData, ) )
MyDB.commit()
def RetrieveBlob(ID):
SQLStatement2 = "SELECT * FROM Images WHERE id = {0}"
MyCursor.execute(SQLStatement2.format(str(ID)))
MyResult = MyCursor.fetchone()[1]
StoreFilePath = "IMG/img{0}.jpg".format(str(ID))
print(MyResult)
with open(StoreFilePath, "wb") as File:
File.write(MyResult)
File.close()
#a menu to help us input data
print("1. Insert Image\n2. Read Image")
MenuInput = input()
if int(MenuInput) ==1:
UserFilePath = input("Enter File Path:")
InsertBlob(UserFilePath)
elif int(MenuInput) ==2:
UserIDChoice = input("Enter ID:")
RetrieveBlob(UserIDChoice)
解决方案
您的数据库名称可能不完全相同,如果您使用它来查看数据库列表,请尝试从服务器复制确切的名称。确保只有当数据库的名称与您使用 DBMS 创建的名称相同时,它才会连接到数据库。此外,如果您更改端口号,那么您也需要提供端口。
推荐阅读
- reactjs - 如何更改反应选择颜色
- php - 删除所有目录/subs/文件,24 小时前...但不是 root - PHP
- html - 为什么固定/绝对元素的宽度回退给子元素?
- windows - 如何使用 bat 将文件夹复制到新创建的时间戳文件夹?
- python - Intellij 点击查看差异链接
- excel - VBA Vlookup 缓慢且崩溃
- amazon-web-services - 使用 Amazon Glacier 加快库存检索
- r - For循环识别R中不存在的NA
- java - 在 Java 的增强 for 循环中使用 xor 运算符
- elasticsearch - refresh_interval 对 ElasticSearch 对旧的不变索引的影响