• Delphi开发的数据库程序在C:PDOXUSRS.NET生成文件,拒绝访问及读写权限


    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

  • 相关阅读:
    简析Java RMI 与 .NET Remoting
    实现一个压缩Remoting传输数据的Sink:CompressionSink (转载)
    智能部署与更新
    第二章:.NET Remoting基础知识
    创建以Microsoft .NET Remoting为基础的分布式应用架构
    vs2005如何防止代码被反编译
    使用.NET Remoting开发分布式应用——配置文件篇(转载)
    Remoting概述
    高级 .NET Remoting
    第一章:Remoting技术简介
  • 原文地址:https://www.cnblogs.com/alannxu/p/9758556.html
Copyright © 2020-2023  润新知