使用Delphi应用程序,Firebird错误"用户名和密码未定义"

Ori*_*aru 19 delphi firebird delphi-2006

我有一个使用Delphi 2006和Firebird 2.5的应用程序.对于连接,请使用Delphi的Interbase组件.我在设计时设置了一个用户名,密码为tc的TIBDatabase,并且工作正常,但是当我想在另一台PC上运行应用程序时(首先我在它上面安装Firebird 2.5),我收到了这个错误:

Statement failed, SQLSTATE = 28000
Run Code Online (Sandbox Code Playgroud)

您的用户名和密码未定义.请您的数据库管理员设置Firebird登录.

这是什么?我怎么解决这个问题?

jac*_*ate 15

该消息明确指出您在开发计算机上设计时用于连接的用户名和密码对您尝试在另一台计算机上连接的数据库服务器无效(我们称之为生产).从您的消息来看,它似乎与您在设计时连接的服务器不同.

我建议您轻松测试此问题,以便在TIBDatabase组件上将LoginPrompt属性设置为true,以允许它在连接之前向用户询问propper凭据.您将能够使用该服务器的任何有效用户名/密码组合进行连接.要确保组合有效,请尝试使用isql命令行工具进行连接,例如命令

c:\test>isql test.fdb -u sysdba -p masterkey
Run Code Online (Sandbox Code Playgroud)

将使用默认用户名和密码连接到c:\ test\test.fdb.(firebird根目录必须在路径环境变量中才能工作)

此外,您可以使用gsec命令行工具调整此引擎的密码,也可以在尝试连接之前在该生产计算机上提供创建用户和更改密码.

在Windows上,firebird默认的sysdba密码是masterkey.

  • +1"firebird默认sysdba密码是masterkey".:) (4认同)
  • Firebird密码长度限制为8个字符...因此,masterke足以让您进入Firebird.这曾经是Interbase的情况,但自从IB 6以来我没有尝试过 (2认同)

小智 5

最终在 Windows 上对我有用的解决方案是以管理员身份启动 cmd.exe 并运行"C:\Program Files (x86)\Firebird\Firebird_3_0\gsec.exe" -user sysdba -password masterkey -mo sysdba -pw masterkey