web-dev-qa-db-ja.com

DelphiアプリケーションでのFirebirdエラー「ユーザー名とパスワードが定義されていません」

Delphi 2006とFirebird 2.5で作成したアプリケーションがあります。接続には、DelphiのInterbaseコンポーネントを使用します。デザインタイムにユーザー名、パスワードtc、およびokを使用してTIBDatabaseを設定しますが、別のPCでアプリケーションを実行したい場合(最初にFirebird 2.5をインストールします)、このエラーを受け取りました:

Statement failed, SQLSTATE = 28000

ユーザー名とパスワードが定義されていません。データベース管理者にFirebirdログインのセットアップを依頼してください。

これは何ですか?どうすれば解決できますか?

19
Origen Banaru

このメッセージには、開発マシンで設計時に接続するために使用しているユーザー名とパスワードが、othermachine(本番と呼びましょう)。メッセージから、設計時に接続するサーバーとは異なるようです。

TIBDatabaseコンポーネントでLoginPromptプロパティをtrueに設定して、接続する前に適切な資格情報をユーザーに要求できるように、この問題を簡単にテストすることをお勧めします。そのサーバーの有効なユーザー名/パスワードの組み合わせを使用して接続できます。組み合わせが有効であることを確認するには、isqlコマンドラインツール、たとえば次のコマンドを使用して接続を試みます。

c:\test>isql test.fdb -u sysdba -p masterkey

デフォルトのユーザー名とパスワードを使用してc:\ test\test.fdbに接続します。 (firebirdのルートディレクトリは、これが機能するためにパス環境変数になければなりません)

また、gsecコマンドラインツールを使用してこのエンジンのパスワードを調整するか、接続する前にその実稼働マシンでユーザーの作成とパスワードの変更を提供できます。

Windowsでは、firebirdのデフォルトのsysdbaパスワードはmasterkeyです。

15
jachguate

Firebird 2.5クライアントライブラリを使用してFirebird 3.0.3データベースに接続しようとすると、このエラーが発生しました。クライアントライブラリを3.0.3に更新するのを忘れました。たぶんこれは誰かを助けるでしょう。

1
dsungaro

Linuxターミナルの「isql-fb」で、データベースの「CONNECT」の後:-delete(drop)の後で解決し、「SYSDBA」ユーザーを再作成しました。

観察:「/ tmp/firebird」でファイルとフォルダーのアクセス許可に問題があり、「isql-fb」を開くには「Sudo」またはルートを使用する必要がありました

ありがとう。

1
Wellington1993

このエラーは、Firebird dbの認証情報がデータベースファイルに保存されていないためです。 Firebirdサーバーの設定ファイルに保存されます。パスワードではなくDBファイルをコピーすると、別のパスワードになります。

Ubuntuマシンでは、ファイル内のパスワードとユーザー名/etc/firebird/<version>/SYSDBA.password

次のようになります。

ISC_USER=sysdba
ISC_PASSWORD="password"

これらの資格情報を使用して、データベースファイルに接続します。

0
Evan Carroll