+ -
当前位置:首页 → 问答吧 → SQL2005表导入已存在DBF时出错?

SQL2005表导入已存在DBF时出错?

时间:2011-11-30

来源:互联网

insert into
openrowset('MICROSOFT.JET.OLEDB.4.0','dBase III;DATABASE=e:\zhu','select * from [nglkk.dbf]')
select * from wjblgb_appdb.dbo.t_userinfo
执行上述命令时,提示
消息 7357,级别 16,状态 2,第 1 行
未能处理对象 'select * from [nglkk.dbf]'。OLE DB 提供程序 'MICROSOFT.JET.OLEDB.4.0' 指出该对象中没有任何列。
怎么办?

作者: hb0zyj3540   发布时间: 2011-11-30

SQL code
/**************导入DBF文件****************/ 
select * from openrowset('MSDASQL', 
'Driver=Microsoft Visual FoxPro Driver; 
SourceDB=e:\VFP98\data; 
SourceType=DBF', 
'select * from customer where country != "USA" order by country') 
go 
/***************** 导出到DBF ************** 
如果要导出数据到已经生成结构(即现存的)FOXPRO表中,可以直接用下面的SQL语句 */

insert into openrowset('MSDASQL', 
'Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=c:\', 
'select * from [aa.DBF]') 
select * from/*说明: 
SourceDB=c:\ 指定foxpro表所在的文件夹 
aa.DBF 指定foxpro表的文件名. */

作者: fredrickhu   发布时间: 2011-11-30

insert into openrowset('MSDASQL', 
'Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=e:\zhu', 
'select * from [nglkk.DBF]') 
select * from T_userinfo
提示错误:
消息 213,级别 16,状态 5,第 1 行
插入错误: 列名或所提供值的数目与表定义不匹配。

作者: hb0zyj3540   发布时间: 2011-11-30

列名或所提供值的数目与表定义不匹配?很明显了吧

insert into ta(col1,col2...) select col1,col2 from tb

这样前后字段一一对应

作者: fredrickhu   发布时间: 2011-11-30

SQL中的表难道要和DBF中的字段一一对应吗?(字段名肯定是一样的),我说的是字段顺序和字段数目也要一一对应吗?

作者: hb0zyj3540   发布时间: 2011-11-30