我正在编写一个必须打开已由第三方保存的预先存在的BDE数据库的应用程序。
在此应用程序中,我目前在TDatabase
中正确设置了DriverName
(STANDARD
:path
)Params
。
我现在可以将Connected
设置为true而不显示错误消息。
还有一个TTable
DatabaseName
设置为TDatabase的值,TableName
设置为.db文件位于该文件夹中(名称已自动填入,我只选择它的帽子)。
现在问题:
如果我将Active
设置为true,则会显示错误消息,指出缺少C:\PDOXUSRS.NET
的访问权限
我知道我可以使用BDEADMIN
设置另一条路径,但我需要在我的应用程序中解决这个问题 - 我不能指望每个客户都做这个改变。
此外,我有一台运行第三方应用程序的测试机 - 它可以无任何错误地访问数据库,而我的应用程序抛出上述错误。这让我怀疑可能有一种解决方法。
是否有这样的解决方法?
我只需要对数据库的读访问权。
答案 0 :(得分:5)
由于link of bummi而解决了这个问题 非常感谢你。
引用:
如何以编程方式更改NET DIR以使其保持
[...]
您还应该记住,如果您有程序在运行时更改自己的NET DIR位置,使用DessSetProp函数或TSession组件的NetFileDir属性,这将覆盖配置文件中的NET DIR值。
它向我指出了在代码中更改NET DIR的可能性:
Session.NetFileDir := MyCustomTempDir;
执行此操作后,Table1.active := true
正常工作,数据显示在已连接的TDBGrid
中。