数据库

位置:IT落伍者 >> 数据库 >> 浏览文章

如何将DBF数据库转换成SQL Server表


发布日期:2024年06月16日
 
如何将DBF数据库转换成SQL Server表

前言 随着计算机技术的发展客户机/服务器(Client/Server)体系结构的数据库系统应用越来越广泛而FoxbaseFoxpro是我国近阶段使用较广的数据库开发软件很多数据都存在DBF表中本文将介绍如何将DBF表中的数据转换到SQL Server表中

用Visual Basic编程实现转换 用Visual Basic编程实现转换即通过SQL Server提供的ODBC接口(开放数据库接口)及Visual Basic中应用数据访问建立Visual Basic与SQL Server的连接由Visual Basic向SQL Server提交创建表命令然后将dbf的每条记录提交给SQL Server完成数据转换DBF的数据结构是(exampdbf)

实现步骤

()在数据库服务器sqlserver中建立数据库sqlexample建立一个表example其结构与exampdbf结构相同其结构是

()ODBC的设置在客户机上进入Windows的控制面板( Control panel )双击ODBC数据源(位)图标进行数据库的ODBC驱动设置在用户DSN下添加选择SQL Server在名称输入sql服务器输入sqlserver用户名输入sa口令输入测试是否连通

()在Visual Basic建立一工程添加引用Microsoft ActiveXData Objects Library和Microsoft DAO object library在Form上建一个Command将Command的Caption改为转换 程序清单如下

Private Sub Command_Click()

Dim db As Database

Dim tb As Recordset

打开C:exampdbf

Set db=OpenDatabase(c:FalseFalsefoxpro )

Set tb=dbOpenRecordset(examp)

Dim conn As ADODBConnection

Dim cmd As ADODBCommand

Set conn=New ADODBConnection

Set cmd=New ADODBCommand

cons=ODBC;DATABASE=sqlexample;UID=sa;PWD=;DSN=sql

connOpen cons

Set cmdActiveConnection=conn

Do while not tbEOF

Cmds=insert into example values(& tbFields() && tbFields()

&)

cmdCommandText=cmds

cmdExecute

tbMoveNext

Loop

MsgBox载入完毕提示

CnnClose

Unload me

End Sub

使用上述方法只要知道一些简单的SQL Server操作及Visual Basic编程便可实现将DBF中的数据载入到SQL Server中但存在不足之处如果DBF中数据量很大超过几十万条记录时载入的时间将会很长解决大批量数据载入需要用到SQL Server所提供的块拷贝实用程序(bcp)

利用SQL Server所提供的块拷贝实用程序(bcp)载入数据

实用程序bcpexe可从Mssql目录下的Binn子目录下获得

bcp的命令格式及主要参数

主要参数

dbtable 数据库名

in|out in从文件到数据库表的拷贝

out从数据库表到文件拷贝

datafile 操作系统文件的路径

/f 文件格式

/u username 指定登录用户名

/P password 指定一个口令

/S servername 允许用户指定连接到哪个SQL Server

实现转换的具体方法 我们将上面的例子调用Bcp将数据载入到SQL Server数据库中先在目录下建立一个文件名为examfmt其中examfmt的内容为

SQLCHAR Id

SQLCHAR name

在Visual Basic中建立一工程在Form上在Form上建一个Command将Command的Caption改为转换 程序清单如下

Private Sub Command_Click()

bcp=bcpexe sqlexampleexample in

:exampdbf /S sqlserver /U sa

/P /f examfmt

ok=Shell(bcp)

End Sub 该方法可以用较短的时间将大量数据载入到SQL Server数据库中但也有其缺点灵活性较差使用较为繁琐

使用软件工具实行数据载入

应用Visual Basic中的外接程序中的可视化数据管理器(VisData)进行数据加载 实现步骤

()SQL Server数据库DBF文件如上

()在Visual Basic中启动VisData文件菜单中选择打开数据库选择Foxpro然后打开exampdbf数据库

()文件菜单中选择导入/导出选择目标数据库类型ODBC导出进入下一窗口选择DSN选中sql执行

()Login ID:栏中输入登录用户名saPassword栏中若有登录口令则输入开始进行数据转换 应用SQL Server中的数据转换服务(DTS)将数据导入或导出

DTS提供了数据传送功能例如输入输出以及在微软的SQL Server和任何OLE DBODBC或者文本格式之间传送数据在SQL Server你可以利用DTS向导把DBF文件的数据传送到SQL Server数据库中因为有DTS向导在这不详细讲解了 使用这些方法可以简单方便快捷完整地将所有dbf中的数据的转换到SQL Server但也有不便之处必须手工完成操作若要转换的数据量很大时使用的时间较长

结束语

以上几种方法运行环境服务器端网络操作系统为Window NT 网络数据库为SQL Server 客户机Windows Visual Basic

上一篇:SQL入门:插入数据

下一篇:SQL Server的命名规则