查询Visual Foxpro表时出现错误7039

2020-09-06 22:31发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我正在使用 vb.net 16.此查询有效:

从u:\ data \ prpost20中选择*,其中prempl ='ABCD'和prstatus ='C'由prempl排序

此查询失败,错误7039尝试打开文件以供独占使用,但该文件已被另一个用户打开:

从u:\ data \ prpost20中选择*,其中prend = '01/01/2019'按prempl顺序

字段prend存在并被索引。 该连接已设置为共享使用(程序中所有内容都相同,除了在where子句中添加其他短语)

在VFP日期字段上使用where子句是否存在已知问题?

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我正在使用 vb.net 16.此查询有效:

从u:\ data \ prpost20中选择*,其中prempl ='ABCD'和prstatus ='C'由prempl排序

此查询失败,错误7039尝试打开文件以供独占使用,但该文件已被另一个用户打开:

从u:\ data \ prpost20中选择*,其中prend = '01/01/2019'按prempl顺序

字段prend存在并被索引。 该连接已设置为共享使用(程序中所有内容都相同,除了在where子句中添加其他短语)

在VFP日期字段上使用where子句是否存在已知问题?

付费偷看设置
发送
4条回答
天桥码农
1楼-- · 2020-09-06 22:50

不知道WHERE子句会导致打开文件的问题。

两个查询都在同一连接上吗? 如果不是这样,请确保第一个没有以独占模式打开文件。

我想知道在表前加上文件夹是否会导致应用不必要地第二次打开表。 如果该表位于数据库的主目录中,请尝试仅选择prpost20而不是u:\ data \ prpost20。

DafaDDDa
2楼-- · 2020-09-06 22:57

不过只有一个连接。 在代码中,只有一个select语句和随后的填充。 我希望该行包括具有prend的where子句的一部分。 它失败。 如果我在where子句中删除了该引用-与以前相同的代码行-它将起作用。 我没有在代码中同时包含这两行-它是一个或另一个-只需编辑一个select子句和一个select子句。 那就是为什么我被困住了。 使用同一行代码,如果我包含prend引用,则查询失败,如果我没有查询成功,则查询失败。

My梦
3楼-- · 2020-09-06 22:47

这是一个免费的VFP表,因此没有数据库。 同样,第一个实例(使用目录引用)可以很好地工作,但是第二个实例(除where子句外,其他方面都相同)失败。 在测试中,我获取了工作代码并编辑了与第一个示例匹配的行以与第二个示例匹配,因此环境也相同。 我确保文字日期或保存日期的变量的长度完全为10个字符(2位数字的月份和2位数字的年份)。 我试过将字段名称prend括在方括号[prend]中。 我很困惑。

me_for_i
4楼-- · 2020-09-06 23:07

当我说数据库时,它可以是数据字典或包含空闲表的目录。 该目录中的任何表文件都应通过引用其表名进行访问,例如 "邮政"。 如果空闲表位于其他目录中,则必须使用完整目录引用。

对于第一个连接,无论是从OS角度还是从数据库服务器来看,当表上没有锁时 ,打开表的方式无关紧要。 但是,对于第二个连接,来自OS的文件锁和服务器中的共享锁,因此打开表的方法很重要。 查询几乎相同的事实并不意味着打开表的情况相同。

我并不是说我确定这是导致锁定问题的原因。 在我所描述的场景中,我期望的是7008而不是7039。 但是,我认为值得尝试。

我看不到查询中的值或语法可能导致锁定问题的任何方式。

一周热门 更多>