请求帮助!(sql2000数据导出到 Visual FoxPro )

老七 2006-06-07 09:30:57
查询分析器运行如下语句:
insert into openrowset('MSDASQL',
'Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=c:\',
'select * from [aa.DBF]')
select * from xsmx

错误提示:
服务器: 消息 7399,级别 16,状态 1,行 1
OLE DB 提供程序 'MSDASQL' 报错。
[OLE/DB provider returned message: [Microsoft][ODBC Visual FoxPro Driver]File 'aa.dbf' does not exist.]
OLE DB 错误跟踪[OLE/DB Provider 'MSDASQL' IColumnsInfo::GetColumnsInfo returned 0x80004005: ]。

请求指导如何能正确的将sql2000数据导出到 Visual FoxPro 。
谢谢。


...全文
896 49 打赏 收藏 转发到动态 举报
写回复
用AI写文章
49 条回复
切换为时间正序
请发表友善的回复…
发表回复
老七 2006-07-07
  • 打赏
  • 举报
回复
按照大家所说的,我都按要求做了,问题解决的时候,我会再发帖,
现在结帖,谢谢大家。
wwh999 2006-07-07
  • 打赏
  • 举报
回复
1。数据库文件不存在,这里所说的不仅仅是AA.dbf这个文件,可能包括与它相关的一些文件,比如数据库的索引文件等........................
-----------------------------------------------------------------------------------
云中...你上面的说,不太正确:

1>由于要导出的AA.dbf表,是个空表,只有表结构,所以不存在cdx及mdx索引文件.
2>我看了一下相关导入导出的东东,好像SQL==>DBF,必须要一个已经存在了的文件(或者是空表)
老七 2006-07-07
  • 打赏
  • 举报
回复
zhenmeiyisi 请到接分帖接分
错误提示的原因好像都没有找处理!
云中客 2006-07-06
  • 打赏
  • 举报
回复
insert into openrowset('MSDASQL',
'Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=c:\',
'select * from [aa.DBF]')
select * from xsmx
楼主,你的那个问题,单从语句规则来说好像没有什么问题
但在于VF的数据库连接时出现了问题,可能有下面几种可能
1。数据库文件不存在,这里所说的不仅仅是AA.dbf这个文件,可能包括与它相关的一些文件,比如数据库的索引文件等
我在对一个VF数据库进行插入时,系统提示了缺少文件,而后我又复制了N个文件(有:.FPT .DCX .DCT .DBC等文件)
2。如果VF的数据库设计时引入了索引或其他的什么(对VF数据库不熟),可能在进行插入时或提示错误信息,这个要了解下VF数据库的知识
老七 2006-07-06
  • 打赏
  • 举报
回复
www999请接分
http://community.csdn.net/Expert/topic/4863/4863156.xml?temp=.492367
老七 2006-07-06
  • 打赏
  • 举报
回复
我的机器环境windowsXP+sp2,SQL2K+SP4,VFP8.0
准备在服务器上试一下。
zhenmeiyisi 2006-07-06
  • 打赏
  • 举报
回复
问题还没解决就开始给分了阿 :)
zhenmeiyisi 2006-07-05
  • 打赏
  • 举报
回复
哦,我的机器上有vf,
老七 2006-07-05
  • 打赏
  • 举报
回复
我考虑还是环境设置问题,但不知怎样检查环境。
老七 2006-07-05
  • 打赏
  • 举报
回复
谢谢。
试了。你是在客户端吗?
wwh999 2006-07-05
  • 打赏
  • 举报
回复
上面的是我亲自导出成功过的。注释是我在解决问题时发现的必须要注意的问题。
-----------------------------------------------------------------------------
我的机器环境 W2K+SP4,SQL2K+SP4,VFP6.0

以上代码在查询分析器中执行。
wwh999 2006-07-05
  • 打赏
  • 举报
回复
--执行导出
INSERT INTO
OPENROWSET('MSDASQL','Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=D:\','SELECT * FROM PO2.DBF')
SELECT * FROM NewT --待写入列的列表必须与DBF中的结构相同

说明:
SourceDB=D:\ 指定foxpro表所在的文件夹
PO2.DBF 指定foxpro表的文件名.
-----------------------------------------------------------------
上例中:PO2.dbf是已经存在了的表。位置在SOURCEDB指定的目录,必须符合导来的结果集结构。
实际要套上面的东东,你需要注意以下:
1.aa.dbf的括号要去掉。
2.导也的数据不能放在新建表中,只能放在一个已经存在了的表中。即你需要做一个空表PO2.DBF才能成功(字段结构必须相同)。
zhenmeiyisi 2006-07-05
  • 打赏
  • 举报
回复
'select * from xsmx.dbf'
改成那?
'select * from xsmx'

我的已经测试成功了阿! 步骤2你试了吗?


老七 2006-07-05
  • 打赏
  • 举报
回复
查询分析器执行:
INSERT INTO OPENROWSET('msdasql',
'driver=microsoft visual foxpro driver;sourcetype=dbf;sourcedb=c:\',
'select * from xsmx.dbf')
select * from xsmx

仍然报错:
服务器: 消息 7399,级别 16,状态 1,行 1
OLE DB 提供程序 'msdasql' 报错。
[OLE/DB provider returned message: [Microsoft][ODBC Visual FoxPro Driver]File 'xsmx.dbf' does not exist.]
OLE DB 错误跟踪[OLE/DB Provider 'msdasql' IColumnsInfo::GetColumnsInfo returned 0x80004005: ]。

zhenmeiyisi 2006-07-05
  • 打赏
  • 举报
回复
http://www.100soft.com/help/list.asp?id=433
老七 2006-07-05
  • 打赏
  • 举报
回复
如何安装mdac_type 2.7,请指教。
对不起,下班了,明天见。
zhenmeiyisi 2006-07-05
  • 打赏
  • 举报
回复
我试的机器上有.net ,你再安装一下 mdac_type 2.7以上的版本看看那?
老七 2006-07-05
  • 打赏
  • 举报
回复
我的机器上也有有vf
老七 2006-07-04
  • 打赏
  • 举报
回复
未成功!!!
老七 2006-07-04
  • 打赏
  • 举报
回复
我测试一下。
加载更多回复(29)

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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