江湖救急,怎样把.dbf表导入SQL库

江湖救急,怎样把.dbf表导入SQL库,第1张

方法一:查询分析器中执行如下语句(先选择对应的数据库)

--如果接受导入数据的SQL表已经存在

insert

into

已经存在的SQL表名

select

*

from

openrowset('MSDASQL','Driver=Microsoft

Visual

FoxPro

DriverSourceType=DBFSourceDB=c:\','select

*

from

aa.DBF')

--也可以对应列名进行导入,如:

insert

into

已经存在的SQL表名

(列名1,列名2...)

select

(对应列名1,对应列名2...)

from

openrowset('MSDASQL','Driver=Microsoft

Visual

FoxPro

DriverSourceType=DBFSourceDB=c:\','select

*

from

aa.DBF')

--如果接受导入数据的SQL表不存在,导入时创建

--方法一:

select

*

into

要生成的SQL表名

from

OPENROWSET('MICROSOFT.JET.OLEDB.4.0','dBase

IVHDR=NOIMEX=2DATABASE=c:\','select

*

from

dbf表名.dbf')

--方法二:

select

*

into

要生成的SQL表名

from

OPENROWSET('MICROSOFT.JET.OLEDB.4.0','dBase

IIIHDR=NOIMEX=2DATABASE=c:\','select

*

from

dbf表名.dbf')

--方法三:

select

*

into

要生成的SQL表名

from

openrowset('MSDASQL','Driver=Microsoft

Visual

FoxPro

DriverSourceType=DBFSourceDB=c:\','select

*

from

dbf表名.DBF')

--用前两种方法导入SQL

SERVER后,源表再用VFP打开就不提示“不能存取文件”,说明语句执行后就把源表关闭了。不过也有不尽人意的地方,就是用前两种方法导入后,源表中的字符型字段导入后SQL表字段对应变成NVARCHAR了。

--第三种方法有一个缺点:把DBF表导入SQL

Server中后,马上用VISUAL

FOXPRO打开DBF表,会提示“不能存取文件”,即这个表还被SQL打开着呢。可是过了1分钟左右,再打开DBF表就可以了,说明经过一段时间后查询分析器才把这个表关闭。

--也可以只导几个字段

select

*

into

要生成的SQL表名

from

openrowset('MSDASQL','Driver=Microsoft

Visual

FoxPro

DriverSourceType=DBFSourceDB=c:\','select

字段1,字段2

from

aa.DBF')

/*--说明:

SourceDB=c:\

c:\是dbf文件的存放目录

aa.DBF

是dbf文件名

--*/

openrowset

查询出来所有数据插入到要生成的SQL表名:select

*

into

要生成的SQL表名

from

openrowset

要导入的数据库:MSDASQ

驱动器:Microsoft

Visual

FoxPro

Driver(如果你要导入的

EXCEL表格

那这里就是microsoft

excel)

导入文件类型:SourceType=DBF

导入的数据源:

SourceDB=c:\','select

*

from

dbf表名.DBF')


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10828132.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-11
下一篇 2023-05-11

发表评论

登录后才能评论

评论列表(0条)

保存