杀死BDE的幽灵

时间:2009-05-09 19:11:02

标签: delphi firebird bde

在我的Delphi7应用程序中,我可以以管理员身份(“Dave”)登录时连接到数据库,但不能以标准用户或受限用户(“Paris”)登录时连接到数据库。发生在XP Home& Vista Business Ultimate 64.我使用db的别名。数据库是Firebird,中间件是IBO 4.7。

我在另一个帖子中发布了这个,但知道我有更多信息,&似乎BDE就是问题所在。显然DB.Pas是链接的。我可以在project.map文件中找到它,& exe读取注册表以获取BDE别名。

我删除了所有与BDE相关的来源& dcu文件,我已经详尽地搜索了一个数据库组件&它很干净。

有人去过吗?

3 个答案:

答案 0 :(得分:4)

假设您没有使用软件包构建 - 从磁盘中删除db.pas和db.dcu(例如将它们重命名为db!.pas和db!.dcu)并重建。编译器应该停止引用db的位置。

答案 1 :(得分:3)

只是提到显而易见的,您是否还检查了所有USES条款?

不是Db.pas你不用担心,我不熟悉IBO,但我怀疑它也使用Db.pas(TDataSet,TDatasource)。

你必须在那里寻找DbTables单元和组件。它包含一个全局声明和实例化的Session变量。 TSession链接到BDE。

答案 2 :(得分:1)

我在你的帮助下解决了这个问题。第一个gabr建议我删除.dcus。我有,但发现了一些,包括db.dcu。杀了它。现在编译停止使用IB.dcu(Borlands接口到Interbase)。杀了它,&得到了编译。在.map中为数据库创建了一个数据库 - 不存在。仍然不会像巴黎一样工作,所以我在源代码中发现了一个Jason评论,其中显示TConnection的AliasName属性是针对BDE别名而不是FireBird别名,因此我将该属性设置为空白。

在巴黎& amp;它奏效了!。

现在,我需要告诉你我周末带回了这个家,希望能有所关注。当它工作时,我大喊血腥的BONZER!在我的声音的顶部 - &所有三只猫都掉了下来HID。

“IB” - 在70万行代码中有3个字符!

所以,如果有人被这个幽灵困扰,那就为IB打招呼了!

谢谢你们(加尔斯?) - 我如何用最佳答案归功于你?

谢谢,戴夫。