有限用户的 Firebird 连接失败
在我的 Delphi7 应用程序中,我可以在以管理员(“Dave”)身份登录时连接到数据库,但在以标准或受限用户(“Paris”)身份登录时则无法连接到数据库。 发生在 XP Home & 上 Vista Business Ultimate 64。我使用数据库的别名,并尝试将 .fdb 文件放在 Program Files、C 驱动器上的应用程序文件夹以及 Users\Application Data & 中。 文档和设置\应用程序数据。
有没有尝试过& 定位 .fdb 文件的真正规则是什么? 我错过了一些明显的东西吗?
是时候重新表述一下这个问题了。 我仍然遇到与有限的用户访问相同的问题,但现在知道 Firebird 作为服务运行 - 它应该能够在任何地方读/写任何文件。 而且,mghie,你建议我尝试使用 isql 进行访问,这是天才。 我可以作为受限用户进行连接。 我可能破坏了我的应用程序中的某些内容。, & IBO 绊倒了它。
重新表述的问题:普遍接受的安装 .fdb 文件的最佳位置是什么?
是的,我可以作为“Paris”与 isql 连接。 我怀疑这个困难与 .fdb 所在的位置有关。 a) 程序文件\应用程序名称\应用程序名称.fdb b) C:\应用程序名称\应用程序名称.fdb c) C:\Documents and Settings\All Users\Application Data\Appname\Appname.fdb
当数据库(&alias)位于所有这些位置时,应用程序无法作为受限用户运行。
In my Delphi7 app, I can connect to the database when logged in as Administrator ("Dave"), but not when logged in as a standard or limited user ("Paris"). Happens on XP Home & Vista Business Ultimate 64. I use an alias for the db, and have tried placing the .fdb file in Program Files, in an app folder on the C drive, and in Users\Application Data & Documents and settings\App data.
Is there a tried & true rule for situating the .fdb file? Am I missing something obvious?
Time to rephrase the question. I still have the same issues with limited user access, but now know that Firebird runs as a service - it should be able to r/w any file anyplace.
And, mghie, your suggestion that I try to access with isql was genius. I can connect as a limited user. I'm probably breaking something in my app., & IBO trips over it.
Rephrased question: What is the generally accepted best place to install the .fdb file?
Yes, I can connect with isql as "Paris".
I suspect the difficulty has something to do with where the .fdb is located.
a) Program Files\Appname\Appname.fdb
b) C:\Appname\Appname.fdb
c) C:\Documents and Settings\All Users\Application Data\Appname\Appname.fdb
Application does not work as limited user when the database (&alias) is in all these places.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
看来您正在使用 Windows 身份验证来登录数据库,而不是 firebird 的本机身份验证。
您是否尝试过提供用户名和密码?
除此之外,当您尝试连接时实际的错误消息是什么?
It seems you're using windows authentication to login to the database instead of firebird's native authentication.
Have you tried to supply a username and password?
Other than that, what's the actual error message when you try to connect?
我不认为有限的用户有权将文件写入您指定的用于存储 .FDB 文件的大多数位置:
听起来您正在使用 Firebird 作为嵌入式数据库。 在这种情况下,最好的选择是将 FDB 文件存储在每个用户的应用程序数据文件夹中。 例如:
I don't believe limited users have the permission to write files to most of the places you named for storing the .FDB file:
It sounds like you are using Firebird as an embedded database. In that case, your best bet would be to store the FDB file in each user's application data folder. For example: