0

DavArt dotConnector を使用して PostgreSQL データベースに接続する C# のプロジェクトがあります。データベースでは、接続文字列で使用するロールを追加できます。

ロール「Z111222333」を作成します。
ALTER ROLE "Z111222333" WITH NOCREATEROLE LOGIN PASSWORD 'md5c6fd41ba62fc5ce98135f0707de385ba';

名前にラテン文字を使用すると、すべてうまくいきます。ユーザーが接続できます。
非ラテン文字 (キリル文字など) でロールを作成しようとしています。

ロール「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"

UserId で非ラテン文字を使用するにはどうすればよいですか?

4

1 に答える 1

0

ユーザー名 (およびデータベース名) に非 ASCII 文字を使用することは、PostgreSQL では避けるのが最善です。最初の接続設定と認証の間、文字エンコーディング変換はアクティブではありません。接続の成功は、正しいエンコーディングで正しいバイトを送信するかどうかに依存します。それがあなたの場合の問題かどうかはわかりませんが、それは私を驚かせませんし、他の同様の問題があったとしても驚かないでしょう.

于 2013-10-30T17:11:04.390 に答える