Azure 数据库连接中的用户名格式无效
Invalid username format in Azure database connection
我无法使用 psycopg2 模块连接数据库。这可能是由于 @ 字符需要转义,但我已经尝试过了。此外,它可能与我的密码有“/”字符或主机名有“-”字符有关,我不知道如何转义它(我已经尝试使用 %2f 和 %2D 转义) .
这是我用编辑过的密码试过的代码,所以你可以看到它有 "special" 个字符,还有主机名中的“-”字符。很可能我做错了。
engine = create_engine('postgresql://username:asd/32foo/T123%40sql-is-a232@sql-is-a232.database.windows.net:5432/database')
这里的用户名是:username,
这里的密码是:asd/32foo/T123,
这里的hostame(我觉得是)是:sql-is-a232,
这里的服务器是:sql-is-a232.database.windows.net,
这里的数据库名称是:database.
如有任何帮助,我们将不胜感激!
请参考此文档:Database Urls:
由于 URL 与任何其他 URL 一样,密码中可能使用的特殊字符需要进行 URL 编码。以下是包含密码 "kx%jj5/g"
:
的 URL 示例
postgresql+pg8000://dbuser:kx%25jj5%2Fg@pghost10/appdb
上述密码的编码可以使用urllib生成:
>>> import urllib.parse
>>> urllib.parse.quote_plus("kx%jj5/g")
'kx%25jj5%2Fg'
常见连接样式的示例如下。有关所有包含方言的详细信息的完整索引以及第三方方言的链接,请参阅 Dialects。
希望对您有所帮助。
我无法使用 psycopg2 模块连接数据库。这可能是由于 @ 字符需要转义,但我已经尝试过了。此外,它可能与我的密码有“/”字符或主机名有“-”字符有关,我不知道如何转义它(我已经尝试使用 %2f 和 %2D 转义) .
这是我用编辑过的密码试过的代码,所以你可以看到它有 "special" 个字符,还有主机名中的“-”字符。很可能我做错了。
engine = create_engine('postgresql://username:asd/32foo/T123%40sql-is-a232@sql-is-a232.database.windows.net:5432/database')
这里的用户名是:username,
这里的密码是:asd/32foo/T123,
这里的hostame(我觉得是)是:sql-is-a232,
这里的服务器是:sql-is-a232.database.windows.net,
这里的数据库名称是:database.
如有任何帮助,我们将不胜感激!
请参考此文档:Database Urls:
由于 URL 与任何其他 URL 一样,密码中可能使用的特殊字符需要进行 URL 编码。以下是包含密码 "kx%jj5/g"
:
postgresql+pg8000://dbuser:kx%25jj5%2Fg@pghost10/appdb
上述密码的编码可以使用urllib生成:
>>> import urllib.parse
>>> urllib.parse.quote_plus("kx%jj5/g")
'kx%25jj5%2Fg'
常见连接样式的示例如下。有关所有包含方言的详细信息的完整索引以及第三方方言的链接,请参阅 Dialects。
希望对您有所帮助。