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.
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
Delphi开发的数据库程序在C:\PDOXUSRS.NET生成文件,拒绝访问及读写权限的更多相关文章
- DELPHI开发LINUX桌面程序
DELPHI开发LINUX桌面程序 DELPHI官方目前为止尚不能开发LINUX桌面程序. 但三方控件FmxLinux(商业控件)是可以的.网上有破解版本.
- 使用delphi 开发多层应用(二十一)使用XE5 RESTClient 直接访问kbmmw 数据库
delphi XE5 出来了,增加了android 的开发支持,另外增加了一个RESTClient 来支持访问REST 服务器. 这个功能非常强大,可以直接使用非常多的REST 服务器.同时也可以支持 ...
- 解决SQL SERVER数据库备份时出现“操作系统错误5(拒绝访问)。BACKUP DATABASE 正在异常终止。”错误的解决办法
SQL SERVER数据库进行备份时出现“操作系统错误5(拒绝访问).BACKUP DATABASE 正在异常终止.”错误.我们应该如何解决这个问题?小编今天为大家推荐一个解决办法. 一般备份文件选择 ...
- C#开发MySQL数据库程序时需要注意的几点
一:引用MySQL使用基于Parameter方式代码,总是提示:“Column '列名'cannot be null”解决 MySQL使用基于Parameter方式代码,总是提示:“Column '列 ...
- 通过修改Delphi 的 RTL,加快Delphi开发的应用程序速度和稳定性
RT 具体见PDF 看了不后悔,只给高手准备的. 神呐,偶看看是虾米东东
- SQL Server 2008 R2 附加数据库 “尝试打开或创建物理文件 拒绝访问”的解决办法
其实是来自一篇SQL Server 2005同样错误的帖子,不过试了在SQL Server 2008 R2下面也有效,记录一下. 解决方法: 在所有程序—Microsoft SQL Server 20 ...
- SQL SERVER数据库备份时出现“操作系统错误5(拒绝访问)。BACKUP DATABASE 正在异常终止。”错误的解决办法
一般备份文件选择的目录为磁盘根目录或备份所选分区未授予sqlserver用户读写权限时会出现此错误. 解决办法就是给sqlserver用户授予权限: 选择要备份的文件夹 ,右键-->属性--&g ...
- Delphi开发单机瘦数据库程序要点(后缀cds)
一.概述 Delphi作为Windows下的一种快速开发工具,不仅能开发一般的Windows应用程序,而且还具有强大的数据库应用程序开发功能.Delphi本身提供了对BDE,ODBC,ADO和Inte ...
- Delphi开发安卓程序的感受
Delphi XE7开发安卓程序,界面开发速度非常快,这是eclipse无法比的,还有就是界面自适应能力很棒,我在不同版本和尺寸的设备中测试,运行良好,这些设备包括:三星I9100(安卓2.3:不到5 ...
随机推荐
- 区间DP训练
一.石子合并 问题描述 将 n (\(1 \le n \le 200\))堆石子绕圆形操场摆放,现要将石子有次序地合并成一堆.规定每次只能选相邻的两堆合并成新的一堆,并将新的一堆的石子数,记为该次合并 ...
- Beta冲刺(2/5)
队名:無駄無駄 组长博客 作业博客 组员情况 张越洋 过去两天完成了哪些任务 数据库实践 提交记录(全组共用) 接下来的计划 加快校园百科的进度 还剩下哪些任务 学习软工的理论课 学习代码评估.测试 ...
- 百度地图中如何获取到发布的SHA1
百度地图中如何获取到发布的SHA1 下面介绍的是一种通过命令的方式获取到发布版SHA1的方法: 打开Android的命令行Terminal: 1.首先进入到.android文件所在的目录,我的是如下图 ...
- RESTFull开发风格
- 浅析package.json中的devdependencies 和 dependencies
2.devDependencies (1)内容:是一个对象,配置模块依赖的模块列表,key是模块名称,value是版本范围(2)作用:该模块中所列举的插件属于开发环境的依赖(比如:测试或者文档框架等) ...
- [RoarCTF 2019]simple_uplod
目录 [RoarCTF 2019]simple_uplod 1.ThinkPHP文件上传 2.upload()多文件上传 ThinkPHP上传文件名暴破 [RoarCTF 2019]simple_up ...
- HTTP APIs 设计/规范指南
根据REST APIs的成熟度模型 ,此规范关注的是Level 2的APIs. 1 设计指南 HTTP APIs主要由四部分组成:HTTP,URL,资源,资源的表述(JSON).资源的表述格式通常都 ...
- axios post 400 状态码
1.400状态码 400的主要有两种形式: (1).bad request意思是“错误的请求": (2).invalid hostname意思是"不存在的域名”. 2.axio ...
- web编辑器的使用比较
一开始测试的时候发现都还可以,只是出于后续考虑,选择了ckeditor,但是有时候会莫名出现Cannot read property 'XXX' of undefined,如下: Uncaught T ...
- mysql union all limit的使用
To apply ORDER BY or LIMIT to an individual SELECT, place the clause inside the parentheses that enc ...