Python 以10为基数的int()的文本无效:'';/与SqlAlchemy+连接;火鸟

Python 以10为基数的int()的文本无效:'';/与SqlAlchemy+连接;火鸟,python,sqlalchemy,pyramid,firebird2.5,Python,Sqlalchemy,Pyramid,Firebird2.5,我正在学习使用金字塔框架和sqlalchemy ORM的python。我正在使用firebird数据库,希望从我的数据库中检索数据。我犯了这个错误: ValueError:基数为10的int()的文本无效:“” 关于守则的这一部分: engine = create_engine('firebird+fdb://SYSDBA:d66cbc9b@localhost:/home/viktor/BDD/siteweb.fdb', echo=True) s = text("select * from tu

我正在学习使用金字塔框架和sqlalchemy ORM的python。我正在使用firebird数据库,希望从我的数据库中检索数据。我犯了这个错误:

ValueError:基数为10的int()的文本无效:“”

关于守则的这一部分:

engine = create_engine('firebird+fdb://SYSDBA:d66cbc9b@localhost:/home/viktor/BDD/siteweb.fdb', echo=True)
s = text("select * from tusers")
k = engine.execute(s).fetchall()
我的表SQL代码是:

CREATE TABLE TUSERS(
  ID integer NOT NULL,
  EMAIL varchar(50) NOT NULL,
  "PASSWORD" varchar(50),
  CONSTRAINT INTEG_9 PRIMARY KEY (ID),
  CONSTRAINT INTEG_10 UNIQUE (EMAIL)
);
以及:

INSERT INTO TUSERS (EMAIL, PASSWORD)
VALUES (
    'rus.grechka@gmail.com', 
    'my_password'
);
问题可能来自触发器(因为您需要创建一个递增id值的触发器(没有自动递增属性))?

Firebird的SQL Alchemy的主要功能是:

firebird+fdb://user:password@host:port/path/to/db[?key=value&key=value...]
在url中,端口没有值,这会导致转换错误,因为端口的字符串为空

您可以通过指定Firebird服务器的端口号(默认为3050)来解决此问题:

或不带冒号-与文档相反-如下所示:


请用完整的错误消息(以及回溯)更新您的问题。谢谢您的回答,我尝试了使用端口和不使用端口,但现在我遇到了另一个错误:sqlalchemy.exc.DatabaseError:(fdb.fbcore.DatabaseError)(“连接到数据库时出错:\n-SQLCODE:-902\n-I/O在对文件执行“打开”操作时出错。”“home/viktor/BDD/siteweb”\n-尝试打开文件时出错\n-没有这样的文件或目录',-90235544344)。您能再帮我一次吗?:)尝试在
home
之前添加一个额外的
/
。它当前发送的路径没有初始斜杠,因此服务器会像处理相对路径一样处理它。添加斜杠可以解决这个问题。
firebird+fdb://SYSDBA:d66cbc9b@localhost:3050/home/viktor/BDD/siteweb.fdb
firebird+fdb://SYSDBA:d66cbc9b@localhost/home/viktor/BDD/siteweb.fdb