我有一个应用程序与Delphi 2006和Firebird 2.5。连接使用Delphi中的Interbase组件。我在设计时设置了一个用户名、密码tc和work ok的TIBDatabase,但是当我想在另一台pc上运行应用程序时(首先在它上安装Firebird2.5),我收到了以下错误:
Statement failed, SQLSTATE = 28000您的用户名和密码没有定义。请数据库管理员设置Firebird登录名。
这是什么?我怎么才能解决这个问题?
发布于 2010-11-25 04:29:34
该消息明确指出在开发机器设计时用于连接的用户名和密码对您试图连接到另一台计算机上的数据库服务器无效(让我们称之为“生产”)。从您的消息来看,它似乎不是您在设计时连接到的同一台服务器。
我建议您轻松地测试这个问题,以便在LoginPrompt组件上将TIBDatabase属性变为真,以便允许它在连接之前向用户询问propper凭据。您将能够使用该服务器的任何有效用户名/密码组合进行连接。要确保组合是有效的,请尝试使用isql命令行工具进行连接,例如命令
c:\test>isql test.fdb -u sysdba -p masterkey将使用默认用户名和密码连接到c:\test\test.fdb。( firebird根目录必须位于path环境变量中才能工作)
此外,您还可以使用gsec命令行工具来调整此引擎的密码,或者在试图连接到该生成机器之前提供create用户和更改密码。
在Windows上,firebird默认的sysdba密码是masterkey。
发布于 2020-03-27 21:23:01
在windows上,我最终使用的解决方案是以管理员身份启动cmd.exe并运行"C:\Program Files (x86)\Firebird\Firebird_3_0\gsec.exe" -user sysdba -password masterkey -mo sysdba -pw masterkey。
发布于 2014-05-02 19:28:26
此错误是因为Firebird db的凭据没有存储在数据库文件中。它存储在Firebird服务器上的配置文件中。如果您复制DB文件,而不是密码-您将有一个不同的密码。
在Ubuntu机器上,您可以在文件/etc/firebird/<version>/SYSDBA.password中找到密码和用户名。
看起来就像,
ISC_USER=sysdba
ISC_PASSWORD="password"使用这些凭据连接到数据库文件。
https://stackoverflow.com/questions/4272399
复制相似问题