1. 首页 > 科技快讯 >

dbf文件怎么导入数据库_db文件如何导入数据库

如何在Access导入Foxpro的.dbf数据库

你的DBF文件是非自由表或新版的DBF格式文件,请将DBF数据库转换为DBF III格式后再导入ACCESS就可以了。

dbf文件怎么导入数据库_db文件如何导入数据库dbf文件怎么导入数据库_db文件如何导入数据库


可以VFP命令窗口中将表先打开,执行如下命令(假设待导入的表名为ABC.DBF):

USE ABC

COPY TO C:\ABC123

这样操作后,ABC123这个表就可以导入ACCESS了。

如何用PHP将dbf文件导入到MYSQL数据库中

要是FOXBASE/FOXPRO的库文件

可以直接用EXCEL打开,然后保存为TXT文件,再用sqlldr导入oracle。

不过EXCEL有行数限制,大概是8W行

也可以直接把DBF文件COPY到FOXPRO环境。

然后在FOXPRO里把这个DBF(库)打印到文本即可,就可以sqlldr导入ORacle。

如何将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表就可以了,说明经过一段时间后查询分析器才把这个表关闭。

可以直接将dbf文件导入sqlserver数据库,也可以先将dbf文件导入dataset,再将dataset的数据导入数据库。dbf文件导入dataset的具体实现方法如下:

需要引入system.data.Odbc包

如何将VFP中的dbf文件导入到sql2000中去,要比较详细的步骤。急!在线等

先用VF建立一个数据库

把需要的dbf文件导入进去

,在ODBC中建立一个"系统DSN"把VF的.DBC文件添加进去,其他自定义

导入数据

的数据源选择

Micrsoft

dBase

VFP

Driver(.dbf)

在"系统/用户DSN"中后面点新建(如果没有的话)

,选择系统数据源

(...)

,再次选择

Micrsoft

dBase

VFP

Driver(.dbf)

点"完成"

弹出

"ODBC

Visual

FoxPro

Setup"

,在

path

中选择刚才建好的VF数据库文件(.

dbc)

其他的自定义

点OK

完成一步了

在用户名中俺就打入了admin

不知道是源\原数据库的密码还是新的数据库密码

点下一步

后面的就不用说啦

在PB中使用FoxPro数据库的方法[2]

在PB 中建立新表

打开新建的表

单击数据库画板中的 数据操作(Data manipulation) 按钮

选择菜单 Rows ? Import

从 文件类型 下拉框中选择dbaseII & III( dbf)

选择被导入文件所在的目录及文件名

单击 打开 按钮

系统将打开指定的文件 将该文件中的所有记录导入新建的表中

但系统不提供直接将导入数据保存在本数据库(表)中 如果要将导入的记录保存为SQL Anywhere 环境下的数据库(表)中 可以先将导入数据行以SQL格式保存在 sql 类型文件中 在利用SQL语句将这些数据行插入新表中 步骤如下

按上面所列的步骤导入数据库(DBF)文件中的数据

选择菜单 File ? Se Row As …

在 存为类型 列表框中选择 SQL

选择保存路径 输入保存文件名 单击保存

关闭 Data manipulation 窗口 回到数据库画板

单击 DB Administration (数据库管理器)

选择菜单 File ? Open

确信文件类型为 SQL ( sql)

选择第 步中所保存的文件 单击 打开 按钮

删除文件起始部分的第一条SQL语句 CREATE TABLE

单击 Execute (执行)按钮 系统将把原数据库中的所有行插入到新表中

需要注意的是 新建的表在字段设置上必须与原DBF文件中的字段保持一致 即 新表中的字段数必须等于或大于原DBF文件中的字段数

新表中的字段顺序要与原文件中的字段顺序一样 即使新表中字段数更多 但新的字段必须放在后

新表与旧文件中字段名可以不一样

新表中的数据类型必须与旧表中的数据类型兼容 字符 ? 字符 数值 ? 数字 数字 ? 字符……

数据格式相一致 如两个文件中的日期格式必须一致

新表中字段长度必须能容纳旧数据库文件中的对应字段中的数据 如 旧数据库某一字段宽度为C 但库中所有记录在该字段的实际长为 那么 新表中的字段宽度至少应为C

如果你愿意 也可以将原FoxPro中的数据库先转换到TXT格式文件 再将TXT格式的文件导入SQL Anywhere数据库(表)中 不过TXT文件中一条记录独占一行 各字段间必须用Tab键(符)隔开 其导入方法与DBF文件中数据的导入方法类似

以上两种办法均可实现在Power Builder下访问FoxPro数据库 但两种方法之间有些不同之处

从系统需求来看 第一种方式使用ODBC直接访问DBF文件 只要Power Builder基本系统即可 不需要安装数据库管理系统(DBMS) 而第二种方式必须安装SQL Anywhere系统

从运行效率来看 第一种方式速度要慢一些 后一种方式稍快 笔者在应用程序中比较了两种方式在速度上的异 将FoxPro系统中的一个有 余条记录的数据库 用第一种方式联接 在数据窗口控制中显示(Retieve)记录 需要 秒钟左右 后来又用第二种方式 在SQL Anywhere 中新建一个表 将这 条记录导入表中 联接 显示记录 需要时间为 秒 对另一个拥有 万余条记录的FoxPro数据库直接使用ODBC 联接 显示的时间为 秒钟

使用Power Builder 的主要优势体现在建立客户/服务器模式的系统上 对于一般的单机系统 规模较小的系统 可能大多数人不会想到它 但如果你觉得FoxPro太老土 Visual FoxPro又太难学的的话 不妨试试Power Builder

编辑

ASP NET开发培训视频教程

Microsoft NET框架程序设计视频教程

lishixinzhi/Article/program/PB/201311/24620

在网页引用数据库的详细方法(如何引用数据库数据)

1SQLServer2000常用的数据导入导出方法1

1通过DTS的设计器进行导入或导出DTS的设计器功能强大,支持多任务,也是可视化界面,易于操作,但熟悉的人一般不多,如果只是进行SQLServer数据库中部分表的移动,用这种方法,当然,也可以进行全部表的移动

在SQLServerEnterpriseManager中,展开服务器左边的+,选择数据库,右击,选择Alltasks/ImportData

(或Alltasks/ExportData

),进入向导模式,然后按照提示一步一步进行就可以了,里面分得非常详细,可以灵活的在不同数据源之间数据,非常的方便,而且还可以另存成DTS包,如果以后还有相同的任务,直接运行DTS包就行,省时省力

也可以直接打开DTS设计器,方法是展开服务器名称下面的DataServices,选LocalPackages,在右边的窗口中右击,选NewPackage,就打开了DTS设计器

值得注意的是:如果源数据库要拷贝的表有外键,注意移动的顺序,有时要分批移动,否则外键主键,索引可能丢失,移动的时候选项旁边的提示说的很明白,或者一次性的到目标数据库中,再重新建立外键,主键,索引

其实在建立数据库时,建立外键,主键,索引的文件应该和建表文件分开,而且用的数据文件也分开,并分别放在不同的驱动器上,有利于数据库的优化

12利用Bcp工具这种工具虽然在SQLServer2000的版本中不使用,但许多数据库管理员仍很喜欢用它,尤其是用过SQLServer早期版本的人

不过Bcp确实有其局限性,首先它的界面不是图形化的;其次它只是在SQLServer的表(视图)与文本文件之间进行

但是另一方面,它也有其优点:性能好,开销小,占用内存少,速度快

13利用备份和恢复先对源数据库进行完全备份,备份到一个设备(device)上,然后把备份文件到目的服务器上(恢复的速度快),进行数据库的恢复操作,在恢复的数据库名中填上源数据库的名字(名字必须相同),选择强制型恢复(可以覆盖以前数据库的选项),在选择从设备中进行恢复,浏览时选中备份的文件就行了

这种方法可以完全恢复数据库,包括外键,主键,索引

14直接拷贝数据文件把数据库的数据文件(

mdf)和日志文件(

ldf)都拷贝到目的服务器,在SQLServerQueryAnalyzer中用语句进行恢复:EXECsp_attach_db@dbname=’test’,@filename1=’d:mssql7data est_data

mdf’,@filename2=’d:mssql7data est_log

ldf’这样就把test数据库附加到SQLServer中,可以照常使用,如果不想用原来的日志文件,可以用如下的命令:EXECsp_detach_db@dbname=’test’EXECsp_attach_single_file_db@dbname=’test’,@physname=’d:mssql7data est_data

mdf’这个语句的作用是仅仅加载数据文件,日志文件可以由SQLServer数据库自动添加,但是原来的日志文件中记录的数据就丢失了

15在应用程序中定制可以在应用程序(PB、VB)中执行自己编写的程序,也可以在QueryAnalyzer中执行,这种方法比较灵活,其实是利用一个平台连接到数据库,在平台中用的主要是SQL语句,这种方法对数据库的影响小,但是如果用到远程链接服务器,要求网络之间的传输性能好,一般有两种语句:1

51select

intonew_tablenamewhere

15

2insert(into)old_tablenameselect

from

where

这两种方式的区别是前者把数据插入一个新表(先建立表,再插入数据),而后者是把数据插入已经存在的一个表中,一般来说,第二条语句强于前者

16SQLServer的功能SQLServer提供了强大的数据功能,也是不易掌握的,具体应用请参考相关资料,值得注意的是要想成功进行数据的工作,有些条件是必不可少的:1

61SQLServerAgent必须启动,MSDTC必须启动

16

2所有要的表必须有主键

16

3如果表中有text或image数据类型,必须使用withlog选项,不能使用withno_log选项

另外maxtextreplsize选项控制可以的文本和图像数据的规模,超过这个限制的操作将失败

16

4在要进行的计算机上,应该至少是隐含共享,即共享名是C$或D$

16

5为SQLServer使用的WindowsNT账号不能是一个本地的系统账号,因为本地的系统账号不允许网络存取

16

6如果参与的服务器在另外的计算机域中,必须在这些域之间建立信任关系

2实现基于网页的数据库数据导入那么,如何实现基于网页的数据库数据导入呢,下面利用一个比较简单的网络介绍一下

假设某局域网的网络拓扑结构如下所示:其中服务器A和工作站B位于局域网内,工作站C与服务器D位于Internet内,局域网与Internet是物理隔离的,工作站C与工作站D在同一个办公室内,服务器A上的数据库管理系统是Oracle,服务器D上的数据库管理系统是SQLServer2000

由于工作需要,要求把服务器A的有关数据导入到服务器D上

21通常的工作流程:2

11在工作站B上运行客户端软件,将服务器A上数据导入到本地的dbf文件

21

2用移动硬盘把dbf文件从工作站B拷贝到工作站C上

21

3在工作站C上,用ftp软件将dbf文件上传到服务器D上

21

4在工作站C上,运行远程桌面软件登录到服务器D上

21

5在服务器D上,执行DTS,将dbf文件中的数据导入到SQLServer数据库

21

6在服务器D上,运行相关存储过程,做数据的后期处理工作

在许多情况下,因为各种不同情况的需要,这个工作流程每天(甚至更短的时间内)就要执行一次,非常繁琐,而且使用手工操作,很容易出错

下面提出一种改进的方案

22改进后的工作流程2

21在工作站B上运行客户端软件,将服务器A上数据导入到本地的dbf文件

22

2用移动硬盘把dbf文件从工作站B拷贝到工作站C上

22

3在工作站C上,打开服务器D上的相关网页,利用网页将dbf文件的数据导入到服务器D上的SQLServer数据库中

首先,要在网页里实现上传功能,把dbf文件从工作站C上传到服务D上,这里就不多介绍了

要通过网页把dbf文件导入到SQLServer中,需要借助DTS可编程对象

DTS包含一组可编程COM对象,主要包含:DTS

Package、DTS

Connection、DTS

Step、DTS

、DTS

、DTS

在ASP网页里,通过用VBScript脚本创建调用DTS可编程COM对象,可以完成数据导入任务

SQLServer2000有比较详细的文档资料介绍DTS编程,但没有给一个具体的例子,如果仅参考文档资料,难度比较大,开发时间也会相当长

这里大概的介绍一下开发程序的过程

首先,在SQLSever2000的DTS设计器里,创建DTS包,实现从dbf文件到SQLServer2000的数据导入,把后期处理的存储过程也添加到DTS包里

将这个DTS包另存为VBScript文件

有了这个VBScript文件,开发程序就容易多了,加入所需要的其他代码,就可以在网页里实现数据库的数据导入

参考文献【1】张莉,等

SQLServer数据库原理及应用教程〔M〕

北京:清华大学出版社,2003

【2】梁方明

SQLServer2000数据库编程〔M〕

北京:北京希望电子出版社,2002

【3】LouisDidson(美)

SQLServer2000数据库设计权威指南〔M〕

电力出版社,2002

[

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至836084111@qq.com 举报,一经查实,本站将立刻删除。

联系我们

工作日:9:30-18:30,节假日休息