我有一台已经安装了Firebird数据库2.0的计算机。现在,我需要打开fdb文件,该文件是此计算机上的Firebird数据库文件。因此,我需要获取Firebird服务器的密码。
我尝试了默认的用户名和密码:SYSDBA和万能钥匙,但是它不起作用。
我还尝试将fdb文件复制到另一台安装了相同版本Firebird的计算机上。这些文件可以在该计算机上打开,但是我需要获取用户名和密码并连接到此计算机上的数据库,而不是在另一台计算机上打开。
错误:您的用户名和密码未定义。询问您的数据库 管理员来设置Firebird登录名。
答案 0 :(得分:0)
我假设您的计算机在Microsoft Windows下运行。
在UNIX中,情况有所不同。安全数据库的位置以及使用FB嵌入式版本的详细信息。
但是,在编辑问题之前,已指定Windows:https://stackoverflow.com/revisions/53881670/1
我尝试使用默认的用户名和密码:SYSDBA和万能密钥,但是它不起作用。
在哪个程序中?
如果存在某些第三方应用程序,则其登录名/密码对可能与Firebird服务器本身的登录/密码对不同。
security2.fdb
包含用户和密码哈希。
因此,根据您的实际需求,您有两种方法:
删除除SYSDBA / masterkey之外的所有密码。即:删除Firebird。确保“安全性数据库”也已删除(如果没有删除,请重命名或移动到另一个文件夹)。重新安装Firebird。将允许您使用开发工具(IBExpert / FlameRobin / FirebirdMaestro等)窥探数据库,但可能会搞砸使用该数据库的任何第三方应用程序(因为该应用程序的用户将不再在FB服务器中存在)。 / p>
将用户/密码从旧计算机克隆到新计算机。也就是说,在两台计算机上都安装了匹配的Firebird版本之后,您将必须在两台计算机上停止FB服务,然后将“安全数据库”从旧计算机复制到新计算机,然后在两台计算机上启动FB服务。 这可能会使第3方应用程序正常工作,但不能让您将SYSDBA / masterkey与开发工具一起使用。
在两种情况下,您还都必须查看Firebird安装中的UDF
子文件夹-如果存在一些非标准插件DLL,您可能还需要将它们复制到新的Firebird安装中,例如数据库的某些部分可能依赖于这些部分(或不是,但是在打开数据库之前您不知道)。
实际上,可能还有另一条途径可以短期内窥探数据库。下载并解压缩Firebird 2 Embedded版本。停止(暂时甚至永久)该计算机上的正常Firebird服务(这样数据库文件将不再被锁定)。在上述开发人员工具之一中,将嵌入式Firebird(fbEmbed.dll)用作“客户端库”。对于嵌入式服务器版本,用户密码无关紧要。