重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
要是FOXBASE/FOXPRO的库文件
员工经过长期磨合与沉淀,具备了协作精神,得以通过团队的力量开发出优质的产品。创新互联公司坚持“专注、创新、易用”的产品理念,因为“专注所以专业、创新互联网站所以易用所以简单”。公司专注于为企业提供成都网站设计、成都网站制作、微信公众号开发、电商网站开发,小程序开发,软件按需定制制作等一站式互联网企业服务。
可以直接用EXCEL打开,然后保存为TXT文件,再用sqlldr导入oracle。
不过EXCEL有行数限制,大概是8W行
也可以直接把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
*
from
aa.DBF')
--也可以对应列名进行导入,如:
insert
into
已经存在的SQL表名
(列名1,列名2...)
select
(对应列名1,对应列名2...)
from
openrowset('MSDASQL','Driver=Microsoft
Visual
FoxPro
Driver;SourceType=DBF;SourceDB=c:\','select
*
from
aa.DBF')
--如果接受导入数据的SQL表不存在,导入时创建
--方法一:
select
*
into
要生成的SQL表名
from
OPENROWSET('MICROSOFT.JET.OLEDB.4.0','dBase
IV;HDR=NO;IMEX=2;DATABASE=c:\','select
*
from
dbf表名.dbf')
--方法二:
select
*
into
要生成的SQL表名
from
OPENROWSET('MICROSOFT.JET.OLEDB.4.0','dBase
III;HDR=NO;IMEX=2;DATABASE=c:\','select
*
from
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表就可以了,说明经过一段时间后查询分析器才把这个表关闭。
--也可以只导几个字段
select
*
into
要生成的SQL表名
from
openrowset('MSDASQL','Driver=Microsoft
Visual
FoxPro
Driver;SourceType=DBF;SourceDB=c:\','select
字段1,字段2
from
aa.DBF')
/*--说明:
SourceDB=c:\
c:\是dbf文件的存放目录
aa.DBF
是dbf文件名
--*/
解决方法:
--方法一:
select * into 要生成的SQL表名 from OPENROWSET('MICROSOFT.JET.OLEDB.4.0','dBase IV;HDR=NO;IMEX=2;DATABASE=c:/','select * from dbf表名.dbf')
--方法二:
select * into 要生成的SQL表名 from OPENROWSET('MICROSOFT.JET.OLEDB.4.0','dBase III;HDR=NO;IMEX=2;DATABASE=c:/','select * from 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包
1.代码实现
对DBF数据进行循环,用SPT插入的SQL数据库
2.利用数据库数据导入工具,一般会建立一个数据源进行连接.
3.如果数据库是VFP的数据库的话,可以用如下命令:
select temp
append from tmp.dbf
1、关闭数据库
SQL shutdown immediate
2、回到solaris状态,将要移youtablespace.dbf到目的文件目录,切记用cp,不能mv,以防止出错SQL!
# cp youtablespace.dbf /u01/dev1/
3、以mount方式打开数据库
(Oracle系统读取控制文件中关于数据文件和重作日志文件的内容,但并不打开该文件。这种打开方式常在数据库维护操作中使用,如对数据文件的更名、改变重作日志以及打开归档方式等。)
SQL startup mount
4、alter database命令来改变数据库中的文件名SQL alterdatabase rename file
'/u02/dev1/youtablespace.dbf' to
'/u01/dev1/youtablespace.dbf'
5、查看列名
SQL desc dba_data_files
6、查看各数据库文件是否正常
SQL select file_name from
dba_data_files;
7、启动实例.
SQL alter database open;8、确认无错以后,删除原数据文件
以下是具体实现步骤:(1)将MS SQL Server数据文件(*.mdf)导附加到本地数据库,首先登录到本地数据库服务器,接着右击您准备导入数据的数据库,选择“所有任务”下的“附加到数据库...” 然后,按照提示选择本地数据库文件(*.mdf),即可实现将MS SQL Server数据文件(*.mdf)导附加到本地数据库。(2)将本地的MS SQL Server数据导入到远程服务器上。 以下演示引导客户将本地的MS SQL Server数据导入到远程服务器上,供客户的网站使用。首先登录到远程数据库服务器:1.右击您准备导入数据的数据库,选择“所有任务”下的“导入数据”2.进入DTS导入/导出向导,点击“下一步”按钮继续3.选择数据源,输入数据源所在的数据库服务器名称、用户名、密码和要复制数据的源数据库,点击“下一步”按钮4.选择目的,输入目的数据库所在的数据库服务器名称、用户名、密码和要复制数据的目的数据库,点击“下一步”按钮5.选择“在SQL Server数据库之间复制对象和数据”方式,点“下一步”继续6.取消安全措施选项7.设定调度方式,一般选“立即运行”就可以,然后点“下一步”继续8.点“完成”执行9.数据导入完成 至此即可将本地的MS SQL Server数据导入到远程服务器上。