要是FOXBASE/FOXPRO的库文件
可以直接用EXCEL打开,然后保存为TXT文件,再用sqlldr导入oracle.
也可以直接把DBF文件COPY到FOXPRO环境.
然后在FOXPRO里把这个DBF(库)打印到文本即可,就可以sqlldr导入ORacle.
方法一:查询分析器中执行如下语句(先选择对应的数据库)
--如果接受导入数据的SQL表已经存在
insert
into
已经存在的SQL表名
select
*
from
openrowset('MSDASQL','Driver=Microsoft
Visual
FoxPro
Driver;SourceType=DBF;SourceDB=c:\','select
aa.DBF')
--也可以对应列名进行导入,如:
--如果接受导入数据的SQL表不存在,导入时创建
--方法一:
要生成的SQL表名
dbf表名.dbf')
--方法二:
--方法三:
dbf表名.DBF')
--用前两种方法导入SQL
SERVER后,源表再用VFP打开就不提示"不能存取文件",说明语句执行后就把源表关闭了.不过也有不尽人意的地方,就是用前两种方法导入后,源表中的字符型字段导入后SQL表字段对应变成NVARCHAR了.
--第三种方法有一个缺点:把DBF表导入SQL
Server中后,马上用VISUAL
FOXPRO打开DBF表,会提示"不能存取文件",即这个表还被SQL打开着呢.可是过了1分钟左右,再打开DBF表就可以了,说明经过一段时间后查询分析器才把这个表关闭.
--也可以只导几个字段
/*--说明:
SourceDB=c:\
c:\是dbf文件的存放目录
aa.DBF
是dbf文件名
--*/
解决方法:
select * into 要生成的SQL表名 from openrowset('MSDASQL','Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=c:/','select * from dbf表名.DBF')
--用前两种方法导入SQL SERVER后,源表再用VFP打开就不提示"不能存取文件",说明语句执行后就把源表关闭了.不过也有不尽人意的地方,就是用前两种方法导入后,源表中的字符型字段导入后SQL表字段对应变成NVARCHAR了.
--第三种方法有一个缺点:把DBF表导入SQL Server中后,马上用VISUAL FOXPRO打开DBF表,会提示"不能存取文件",即这个表还被SQL打开着呢.可是过了1分钟左右,再打开DBF表就可以了,说明经过一段时间后查询分析器才把这个表关闭.
可以直接将dbf文件导入sqlserver数据库,也可以先将dbf文件导入dataset,再将dataset的数据导入数据库.dbf文件导入dataset的具体实现方法如下:
需要引入system.data.Odbc包
①代码实现
对DBF数据进行循环,用SPT插入的SQL数据库
select temp
append from tmp.dbf
①.、关闭数据库
SQL shutdown immediate
# cp youtablespace.dbf /u01/dev1/
(Oracle系统读取控制文件中关于数据文件和重作日志文件的内容,但并不打开该文件.这种打开方式常在数据库维护操作中使用,如对数据文件的更名、改变重作日志以及打开归档方式等.)
SQL startup mount
'/u01/dev1/youtablespace.dbf'
SQL desc dba_data_files
SQL select file_name from
dba_data_files;
以上就是土嘎嘎小编为大家整理的dbf导入数据库php相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!