求救!VB中用ODBC连接DBF出现'Cannot create program workspace files'

leoxue 2003-11-04 11:41:52
求救!VB中用ODBC连接DBF出现'Cannot create program workspace files'

我在VB6中,用ODBC,通过VFP驱动程序,连接DBF数据库。在调试及大多数运行中,均不会出错。但约有三分之一的运行中,会弹出报错对话框,标题为‘fox engine dll’,错误信息为‘cannot create program workspace files’。然后就无法连接上DBF数据库。

请问这可能是由什么原因引起的呢?因为半数以上的运行是正常的,是不是因为我系统或VFP驱动的什么参数没有设对呢?
由于我的工程组中包含的EXE较多,同时会有多处对不同的DBF进行连接,是不是某些参数设得不够大,导致在调试时不出错(因为只能对一个EXE进行调试),而在运行时(多个EXE同时运行)有时会出错呢?

请求各位大虾帮助啦!

连接代码如下,由于在调试时不出错,不知是具体哪句出错
以下为连接“c:\test\a.dbf”的代码
Dim cn As New ADODb.Connection
Dim rs As New ADODb.Recordset

cn.Open "FILE NAME=current.dsn"
rs.Open "select * from aaa",cn

current.dsn内容如下
[ODBC]
DRIVER=Microsoft Visual FoxPro Driver
UID=
Deleted=Yes
Null=Yes
Collate=Machine
BackgroundFetch=Yes
Exclusive=No
SourceType=DBF
SourceDB=C:\TEST

...全文
67 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
leoxue 2003-11-09
  • 打赏
  • 举报
回复
UP
boydgmx 2003-11-07
  • 打赏
  • 举报
回复
可能与FoxUser.DBF这个文件的写权限有关,每当打开一个数据表时,都会将用户的一些默认设置写入FoxUser.DBF中,但是如果多道程序同时执行,可能因为一个程序正在以独占模式写该文件,从而导致其它程序不能完成写操作,从而无法打开DBF数据表,也就连接失败了。
leoxue 2003-11-07
  • 打赏
  • 举报
回复
如果是这样的话,我有什么解决方案吗?
leoxue 2003-11-06
  • 打赏
  • 举报
回复
还有人知道吗?
Gelim 2003-11-05
  • 打赏
  • 举报
回复
我没有看出你代码有什么不对,只能帮你up一下先!
leoxue 2003-11-05
  • 打赏
  • 举报
回复
谢谢大家,最主要它有时出错,有时不出错,调试时总是正确的,就很麻烦的,由于在程序中大量涉及对DBF的调用,如果改用ADO的话,可能工作量会很大。所以,我想最好是有什么办法在外部对驱动程序或者系统参数做些什么调整,这样可能会更好一些。

先谢谢大家啦
sunzhiying888 2003-11-05
  • 打赏
  • 举报
回复
先绑定看一下是否可行,绑定可以说明驱动程序没有问题,那就代码有问题哦
不要用odbc ,用ADO看行不行
射天狼 2003-11-05
  • 打赏
  • 举报
回复
帮你一下吧~`

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧