macos - firebird,错误的文件描述符/您的用户名和密码未定义

标签 macos firebird

我正在尝试在我的 mac (os 10.12) 上设置测试环境,它需要 Fishbowl/Firebird DB。无论我做什么,我都会在这两个错误之间来回跳动:

isql localhost:/Users/me/Fishbowl/database/data/EXAMPLE.FDB

这给了我:

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

以及使用 gsec 创建用户或更改密码的任何操作:

和:

Statement failed, SQLSTATE = HY000 operating system directive stat failed -Bad file descriptor

这太令人沮丧了。 Fishbowl 客户端本身似乎很好地命中了这个数据库。我有 chmod 770/tmp/firebird 目录,甚至试图 chown example.fdb 文件本身。

谁能告诉我如何从我的 Java 应用程序或命令行访问此数据库?这两种方式都会产生这些错误。

最佳答案

1) 您的连接线以“localhost:”开头。这意味着您使用 TCP/IP 连接来访问数据库服务器。并且数据库服务器运行在一个单独的进程中。这意味着 chmodchown 应该无关紧要,只要有 firebird 守护进程服务器在运行并在 TCP 端口监听(默认为 3050 AFAIR,您可以阅读安装值在文本文件 firebird.conf 中)。

的确,有所谓的“嵌入式服务器”或“嵌入式模式”,其中服务器作为 DLL/SO 库加载到应用程序中。但是连接字符串不能有网络协议(protocol)前缀,所以这不应该是你的情况。

2) 您可以在 http://firebirdsql.org/manual/isql-switches.html 查看文档在 isql 命令行中指定您的用户和密码。 Firebird 有一个内置的 super 用户,即“SYSDBA”。关于密码,它可能有点复杂....它因 Firebird 版本和平台而异

2.0) 服务器安装可能会设置任何 SYSDBA 密码,如果服务器与某些应用程序捆绑在一起,则该应用程序稍后可以覆盖它。然后,您要么必须联系应用程序开发人员,要么尝试删除捆绑的 FB 并安装您自己的原版 FB,这可能会导致应用程序无法正常运行。

2.1) FB 2.x 的 Windows 安装将“默认”SYSDBA 密码设置为“masterkey”(实际上只有前 8 个符号很重要)

2.2) Linux 安装FB 2.x 生成一个随机的SYSDBA 密码,并将其保存到Firebird 文件夹中的一个文本文件中。

2.3) 苹果操作系统?不知道。也许它更接近 Linux 而不是 Windows。所以尝试找到这样的文本文件并尝试“masterkey”

2.4) 在 FB 3 中,身份验证方法和配置得到了极大的改进,所以……所以很难说出具体的东西。至少对我而言。

3) 我不知道 Fishbowl 是什么,但 Google 建议:https://www.fishbowlinventory.com/wiki/Fishbowl_for_Mac 如果是这样,请检查该页面上的底线示例。他们强调你应该 sudo 所有这些命令。这也是有道理的,因为

3.1) Firebird 守护程序可能启用了“可信身份验证”,将 FB 用户映射到操作系统用户。在 UNIX 上,这至少会将 SYSDBA 映射到 root。在 Windows 上 - 到 Administrator(但已本地化)。这不一定要启用,但如果它是 sudo UNIX 命令正是使应用程序在操作系统 super 用户授权下运行的原因,并且可能解释命令行示例中缺少用户和密码。

3.2) Firebird 嵌入式服务器/模式作为应用程序进程的一部分工作,尤其是在 UNIX 上使用 CS(经典服务器)包时,命令行实用程序往往属于这种模式。然后再次需要以 root 身份运行以从 Firebird 安全数据库读取高度敏感的数据,因此需要 sudo 命令。当然,我认为您的 isql 命令可能不会在嵌入式模式下运行 - 因为您确实指定了“localhost:”前缀。但是上面 wiki 链接中的示例 - 备份和恢复 - 它们使用本地连接字符串,所以它们可能确实以嵌入式方式运行。所以这可能会给你另一个提示 - 尝试从连接字符串中删除“localhost:”前缀并使用 sudo isql 而不是从普通用户运行它。这几乎不是正常模式,但出于测试目的,为什么不呢。

希望这对您有所帮助。

附言。您也可以试试这个 Firebird IDE - 它很简单,但同样用于测试目的... http://www.flamerobin.org/dokuwiki/wiki/manual

关于macos - firebird,错误的文件描述符/您的用户名和密码未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41064872/

相关文章:

java - 在 Mac OS X 上加载 JNI 库?

xml - 究竟要在 XMLDSIG 上消化和签署什么以及如何消化? (或者,OSX 本地客户端与服务器上计算的 XMLDSIG 不匹配)

objective-c - 在 Mac OSX 上用于应用程序开发的好的数据库选项有哪些?

asp.net - Firebird 是适用于 ASP.NET 的良好嵌入式数据库吗?还有哪个?

sql - 如何在Firebird 2.1中优化此查询?

sql - 如何使用 SQL 在数据库中检测具有嵌套关系的父级?

macos - 在 mac 命令行上生成特定频率的音调

objective-c - Xcode:无法本地化 OS X 中的应用程序名称?

jdbc - BIRT 报告设计器空数据集脚本

delphi - 锁定表 Firebird ,德尔福