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

leoxue 2003-11-05 09:57:54
求救!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
...全文
65 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
astroboy 2003-11-09
  • 打赏
  • 举报
回复
我觉得是cn.Open "FILE NAME=current.dsn"这一句的问题,你改成完整的字符串试试?

leoxue 2003-11-09
  • 打赏
  • 举报
回复
谢谢大家,最主要它有时出错,有时不出错,调试时总是正确的,就很麻烦的,由于在程序中大量涉及对DBF的调用,如果改用leftie的方法的话,可能工作量会很大。

所以,我想最好是有什么办法在外部对驱动程序或者系统参数做些什么调整,这样可能会更好一些。实在不行,只好再大规模的调整代码

先谢谢大家啦
j4sxw 2003-11-07
  • 打赏
  • 举报
回复
ding
MemberFunction 2003-11-06
  • 打赏
  • 举报
回复
你试试
cn.open "dsn=你设的该数据库的dsn名称"







~~~如果世界没有我,地球还会转吗?~~~
leoxue 2003-11-06
  • 打赏
  • 举报
回复
还有其它建议吗?先谢谢大家啦
饮水需思源 2003-11-05
  • 打赏
  • 举报
回复
Dim cn As New ADODB.Connection

cn.ConnectionString = "provider=msdasql;DRIVER=Microsoft Visual FoxPro Driver;UID=;Deleted=yes;Null=no;Collate=Machine;BackgroundFetch=no;Exclusive=No;SourceType=DBF;SourceDB=c:\test;"

cn.Open

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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