我有一個使用DavArt dotConnector連接到PostgreSQL數據庫的C#項目。 在數據庫中,我可以添加角色以在連接字符串中使用它。在連接字符串中使用非拉丁字符PostgreSQL的用戶ID
CREATE ROLE "Z111222333";
ALTER ROLE "Z111222333" WITH NOCREATEROLE LOGIN PASSWORD 'md5c6fd41ba62fc5ce98135f0707de385ba';
拉丁字符的名字都是正確的。用戶可以連接。
我嘗試使用非拉丁字符(例如西裏爾字母)創建角色。
CREATE ROLE "ZФРОЛОВМ";
ALTER ROLE "ZФРОЛОВМ" WITH NOCREATEROLE LOGIN PASSWORD 'md5b4b194033aab1f2d6dbd275736f1b029';
在這種情況下,用戶無法連接。例外:「錯誤:28P01:用戶」ZФРОЛОВМ「的密碼驗證失敗。」
連接器:Devart dotConnector for PostgreSQL 6.5
數據庫:PostgreSQL 9.1
連接字符串:"User Id=ZФРОЛОВМ;Password=A1E0476879CAB2A76CC22C80BBF364; Host=localhost;Database=testDB;Unicode=True;Persist Security Info=True;Schema=mir"
如何使用非拉丁字符的用戶ID?
確定密碼正確嗎? – JMK
對不起。我確信在我的數據庫中密碼是正確的。但在這個例子中,我犯了一個錯誤:'ALTER ROLE「ZФРОЛОВМ」WITH NOCREATEROLE LOGIN PASSWORD'md517aa59c10d0061a2d179831df43902f6';' – Roren