相关疑难解决方法(0)

密码包含特殊字符时写入连接字符串

我正在使用SQLalchemy作为Python项目,我希望有一个整洁的连接字符串来访问我的数据库.例如:

engine = create_engine('postgres://user:pass@host/database')
Run Code Online (Sandbox Code Playgroud)

问题是我的密码包含一系列特殊字符,在我尝试连接时会被解释为分隔符.

我意识到我可以创建一个对象然后传递我的凭据,如下所示:

drivername  = 'postgres',
username    = 'user', 
password    = 'pass', 
host        = 'host',
database    = 'database'
Run Code Online (Sandbox Code Playgroud)

但是如果可能的话,我宁愿使用连接字符串.

所以要清楚,是否可以编码我的连接字符串或连接字符串的密码部分 - 以便可以正确解析它?

python connection-string sqlalchemy character-encoding

28
推荐指数
3
解决办法
2万
查看次数

create_engine() 密码斜线的 SQLAlchemy ValueError

相当简单的问题:我的 Python 脚本正在尝试创建 SQLAlchemy 数据库连接。密码包含一个正斜杠:

engineString = 'postgresql://wberg:pass/word@localhost/mydatabase'
engine = sqlalchemy.create_engine(engineString)
Run Code Online (Sandbox Code Playgroud)

但第二行提出:

ValueError: invalid literal for int() with base 10: 'pass'
Run Code Online (Sandbox Code Playgroud)

使用原始字符串(以 'r' 开头)无济于事。有什么方法可以让 SQLAlchemy 接受该密码?我通常的下一步是尝试使用从属方法构建连接,但我在文档中看不到另一种建立连接的方法。我只是不允许在这里使用斜杠的密码吗?我可以接受这一点,但如果没有该功能,该工具包似乎不太可能走到这一步。

版本:Python 2.6.6,SQLAlchemy 0.8.0

python sqlalchemy escaping

1
推荐指数
1
解决办法
3034
查看次数