0

簡単なテスト .net アプリケーションからのfirebird 3.0最新バージョンに接続しようとしています。ADO.NET provider 5.0.5.0私がsysdbaユーザーを使用した場合、接続はOKですが、他のユーザーを使用した場合、従来の FBException で接続が失敗しました:

Your user name and password are not defined. Ask your database administrator to set up a Firebird login.

"initial catalog=c:\\Database\\Data.fdb;data source=localhost;user id=sysdba;password=sysPass;port number=3050"= OK

"initial catalog=c:\\Database\\Data.fdb;data source=localhost;user id=michal;password=micPass;port number=3050"= 失敗

しかし、 IBExpert または isql を介して接続しようとしている場合、接続は正常に行われ、テーブルからデータを取得できます。

以前は Firebird 2.1 を使用していましたが、Firebird 3.0 スーパークラシックにアップグレードし、nuget から ADO.NET プロバイダーを取得しました。実際には SRP 暗号化は必要ないため、WireCrypt などを無効にしてレガシー認証を使用しました ( Firebird 3.0 リリース ノート 117 ページ)。次に、IBExpert を介して新しいユーザーを作成しました (firebird サーバーのインストール中に sysdba が作成されました)。

以前の firebird バージョンからユーザーを移行する必要がないため、v.2.x セキュリティ データベースのアップグレードの手順をスキップしました。

IBExpert または isql を介して myUser に接続できるのに、ADO.NET プロバイダーを介して接続できないのは奇妙です。

ADO.NET プロバイダーにこのタイプのバグ (すべてのユーザーがユーザー経由で接続する必要がある) がある可能性は低いと思われるので、構成が悪いと思います。

4

1 に答える 1

0

私はいくつかの悪い構成を持っていたので、正しく設定する必要があります:

  1. firebird.conf には、次のものが必要です: WireCrypt = Enabled (無効にしないでください)

  2. 以前の方法でユーザー アカウントを作成する (私の場合は IBExpert 経由)

  3. パスワードは最大でなければなりません。長さ 8 文字 (以前は文字数を増やすことができ、Firebird は省略されていました)

于 2016-05-30T07:42:16.673 に答える