首页 > 解决方案 > Python, Firebird, FDB+SQLalchemy : ('连接数据库时出错:\n- SQLCODE: -551\n- 没有读写权限

问题描述

我正在努力通过 pythons FDB 驱动程序和 SQLalchemy 连接到 Firebird 数据库。我的 .fdb 文件放在我的根文件夹 /Users/me/db.fbd 我安装了 firebird 2.5 经典服务器。

from sqlalchemy import create_engine
import fdb
import pandas as pd

database='//sysdba:masterkey@localhost:3050/Users/me/bd.fdb?charset=utf8'
database_driver='firebird+fdb'
encoding='UTF8'
conncection = ':'.join([database_driver, database])

engine = create_engine(conncection, encoding=encoding)

query = "Some query"
df = pandas.read_sql(sql=query_pay, con=engine)

这段代码不断给我一个错误:

DatabaseError: (fdb.fbcore.DatabaseError) ('连接数据库时出错:\n- SQLCODE: -551\n- 没有权限读写数据库 //Users/me/db.fdb', -551, 335544352)(此错误的背景:http ://sqlalche.me/e/4xp6 )

起初我认为这是简单的权限问题,所以我通过 OSX 的图形界面将读/写权限授予所有用户(包括 firebird 用户)。当这不起作用时,我什至在 db.fdb 上执行了 chmod 777 ,但它仍然不起作用。我应该补充一点,当我使用 firebird 终端工具连接到这个数据库时,一切正常。

你有什么想法为什么我不断收到这个错误?以及如何解决?

标签: pythonmacospermissionssqlalchemyfirebird

解决方案


推荐阅读