【问题标题】:Firebird: Permission Denied?火鸟:权限被拒绝?
【发布时间】:2017-02-16 17:19:39
【问题描述】:

我打开 Firebird ISQL 工具来创建一个数据库(我认为这是对的?)然后我输入了“create database 'path_here'”命令来创建我的数据库。当我按下回车时,它要求我输入一个 CON 字符串,所以我输入了以下内容:

ISQL Version: WI-V3.0.1.32609 Firebird 3.0
Use CONNECT or CREATE DATABASE to specify a database
SQL> create database 'C:\Users\User\Desktop\Remake\FirebirdDatabase'
CON> user 'SYSDBA' password 'myPASSWORD123';

点击回车时,我收到了这个错误:

Statement failed, SQLSTATE = 08001
I/O error during "CreateFile (create)" operation for file "C:\USERS\USER\DESKTOP\REMAKE\FIREBIRDDATABASE"
-Error while trying to create file
-Access is denied.
SQL>

有没有办法解决这个问题?我用谷歌搜索了它,所有答案几乎都提供了 Linux 的信息,而没有提供 Windows 的信息。

【问题讨论】:

  • 你是用User这个用户登录的吗?你桌面上Remake文件夹的权限是什么?
  • 我已经检查了所有这些,我登录的用户拥有所有权限。
  • 这不是我问的,你在C:\Users\User创建一个数据库,你是用那个用户登录的吗?否则,您没有对该位置的写入权限。另外,您是如何启动 isql 的,您使用了哪些命令行选项?请注意,您通常通过 Firebird 服务访问 Firebird 数据库,因此如果您希望运行在不同用户下的服务器进程可以访问该数据库,则在用户文件夹中创建数据库可能不是最佳策略。
  • 我已登录到用户帐户,如果我没有登录,我会说。我从开始菜单中的“最近添加”程序中打开了 ISQL。我也试过以管理员身份运行它。

标签: database cmd command-prompt firebird


【解决方案1】:

如果C:\Users\User\Desktop\Remake\FirebirdDatabase 已经存在,并且FirebirdDatabase 是文件夹(目录),而不是文件,我可以重现此错误的唯一方法。

您在create database 中提供的数据库路径是数据库文件的完整路径。所以请确保C:\Users\User\Desktop\Remake 中没有文件夹FirebirdDatabase。习惯上为 Firebird 数据库提供文件扩展名 .fdb

【讨论】:

    【解决方案2】:

    使用您的 Firebird 版本,无需引用用户名的名称,这也是不区分大小写的。

    【讨论】:

    • 这并不能真正回答问题。此外,自 Firebird 3 以来,Firebird 用户名可以区分大小写,遵循与标识符相同的规则(因此使用双引号)。用户名周围的单引号仍然可以向后兼容。
    猜你喜欢
    • 2015-08-30
    • 1970-01-01
    • 2018-07-19
    • 2018-02-05
    • 2015-04-28
    • 2018-02-03
    • 2012-04-14
    相关资源
    最近更新 更多