Delphi开发的数据库程序在C:PDOXUSRS.NET生成文件,拒绝访问及读写权限, "无法打开 PARADOX.NET。这个文件可以随便删除的,下次会自动产生。
Permission denied.C:PDOXUSRS.NET
如果用于没有对C:PDOXUSRS.NET的写权限,系统就会报错。
PDOXUSRS.NEt为计算机根目录下的一个数据库,在文件C:盘根目录下生成。
果你装了Delphi编的程序,而它用的是Paradox数据库,就会出现这样的问题。我使用BDE访问Oracle数据库也会出现此问题。
可以改变这个文件的存放位置
如Tdatabase1.session.netfiledir:=d:abdd;或者存放在自己程序的目录,这样就不会有权限的问题了。还有几个属性NetFileDir、PrivateDir和ConfigMode属性。
我发现当Tquery1.CachedUpdates:=true;时就要产生这个文件。
Network initialization failed.
Permission denied.
File:C:PDOXUSRS.NET
Directory:C:.
ExeSQL是直接执行SQL语句,而与CachedUpdates没有任何关系。
CachedUpdates是指对TTable或TQuery中的已修改的数据进行缓存,直到调用 ApplyUpdates.
ApplyUpdates是对TQuery或TTable中已修改,但为提交的数据进行提交, 并且只有在TQuery或TTable对象的CachedUpdates=True且Active=True, State=dsbrowse时才能调用。
TQuery的CachedUpdates必须陪合TUpdateSQL控件才能使用。 例如: Query1.SQL.Text:='select field1,field2 from table1'; Query1.CachedUpdates:=True; Query1.UpdateObject:=UpdateSQL1; UpdateSQL1.InsertSQL:='insert table1(field1,field2) values (:field1,:field2)'; UpdateSQL1.deleteSQL:='delete from table1 where field1=:field1,field2=:field2'; UpdateSQL1.ModifySQL:='update table1 set field1=:field1,field2=:field2 where field1=:old_field1 and field2=:old_field2;
Query1.Open; Query1.First; while not Query1.Eof do begin Query1.Edit; Query1.FieldByName('field1').AsString:='123'; Query1.Post; //此时数据并未提交到后台。 Query1.Next; end; Query1.Database.StartTransaction try Query1.ApplyUpdates; Query1.Database.Commit; except Query1.Database.Rollbback; raise; end; Query1.CommitUpdates;
Paradox数据库文件放在一服务器上的某一共享目录下,当一个用户在访问, 另一用户打开文件时会显示“Pdoxusrs.Lck 被其它用户使用. , Paradox.Lck, PdoxUsrs.Lck 文件是用来控制纪录或文件锁定的。paradox就靠它知道当前纪录有谁在用。 这是系统文件可以不必管它。
--------------------- 本文来自 大聪 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/dacong/article/details/51039990?utm_source=copy