Azure sql database Azure数据库连接中的用户名格式无效

Azure sql database Azure数据库连接中的用户名格式无效,azure-sql-database,psycopg2,Azure Sql Database,Psycopg2,我无法使用psycopg2模块连接数据库。这可能是因为@character需要转义,但我已经尝试过了。另外,它可能与我的密码有/字符或主机名有-字符有关,我不知道如何转义,我已经尝试使用%2f和%2D转义了 这是我用经过编辑的密码尝试的代码,因此您可以看到它的特殊字符,以及主机名中的-字符。很可能我做错了 engine = create_engine('postgresql://username:asd/32foo/T123%40sql-is-a232@sql-is-a232.database.

我无法使用psycopg2模块连接数据库。这可能是因为@character需要转义,但我已经尝试过了。另外,它可能与我的密码有/字符或主机名有-字符有关,我不知道如何转义,我已经尝试使用%2f和%2D转义了

这是我用经过编辑的密码尝试的代码,因此您可以看到它的特殊字符,以及主机名中的-字符。很可能我做错了

engine = create_engine('postgresql://username:asd/32foo/T123%40sql-is-a232@sql-is-a232.database.windows.net:5432/database')
这里的用户名是:username

这里的密码是:asd/32foo/T123

我想这里的主机名是:sql-is-a232

这里的服务器是:sql-is-a232.database.windows.net

这里的数据库名称是:database


任何帮助都将不胜感激

请参考本文件:

由于URL与任何其他URL一样,特殊字符(如密码中可能使用的字符)需要进行URL编码。下面是包含密码kx%jj5/g的URL示例:

可以使用urllib生成上述密码的编码:

>>> import urllib.parse
>>> urllib.parse.quote_plus("kx%jj5/g")
'kx%25jj5%2Fg'
下面是常见连接样式的示例。有关所有包含的方言的详细信息以及到第三方方言的链接的完整索引,请参阅

希望这有帮助

>>> import urllib.parse
>>> urllib.parse.quote_plus("kx%jj5/g")
'kx%25jj5%2Fg'