向SQL2005中导入.dbf文件中的数据
2012-03-16 16:44
260 查看
有时我们需要从.dbf文件中将数据导入到SQL2005中,当然这个可能出于各种原因,比如说:原来项目是用的.dbf的数据库,而现在新的项目里使用的是SQL2005的数据库,但原来的数据又不能丢,这时就需要这类的操作。其实这样的操作是经常的,比如:SQL2005到ORACLE中,或是从ORACLE到SQL2005/2008;最近遇到了这样的问题,在网上寻找了很久,终于得到了一个解决的方法,在此记录一下。
在SQL2005中,若要读取.dbf的文件的数据,就得启用SQL2005的高级组件,叫:Ad Hoc Distributed Queries,若没有启用就会出现以下的错误提示信息:
所以需要启动它,代码如下:
复制代码
启动了Ad Hoc Distributed Queries,就可以读取.dbf文件中的数据了,读取的代码如下:
复制代码
结果如下:
我们已经读取到了dbf文件中的数据,那么要将它存放在一张表中就很明显了,使用以下代码可以将其数据与表结构导入到SQL2005中:
复制代码
结果与上面是一样的,这里就不截图了
若是你的SQL2005中已经有一张表结构与dbf文件中表结构相似(就是可以把数据导入的表),那么也可以使用以下的语句完成数据的导入:
复制代码
当然我们也可以向dbf文件中插入数据,其方式差不多,代码如下:
复制代码
结果得到受影响的行数:
导入完数后,我们需要关闭那个高级选项Ad Hoc Distributed Queries,代码如下:
复制代码
最后要说明的一点是:不同的版本的dbf文件所对应的SQL语句不一定都相同,所以以上代码只作为一个参考和思路,谢谢!!!
在SQL2005中,若要读取.dbf的文件的数据,就得启用SQL2005的高级组件,叫:Ad Hoc Distributed Queries,若没有启用就会出现以下的错误提示信息:
所以需要启动它,代码如下:
---启用Ad Hoc Distributed Queries: exec sp_configure 'show advanced options',1 reconfigure exec sp_configure 'Ad Hoc Distributed Queries',1 reconfigure
复制代码
启动了Ad Hoc Distributed Queries,就可以读取.dbf文件中的数据了,读取的代码如下:
select*from openrowset('MICROSOFT.JET.OLEDB.4.0' ,'dBase 5.0;DATABASE=c:/code/','select * from [TD_MZDM.DBF]')
复制代码
结果如下:
我们已经读取到了dbf文件中的数据,那么要将它存放在一张表中就很明显了,使用以下代码可以将其数据与表结构导入到SQL2005中:
select*into #td_mzdm from openrowset('MICROSOFT.JET.OLEDB.4.0' ,'dBase 5.0;DATABASE=c:/code/','select * from [TD_MZDM.DBF]') ---查询临时表 select*from #td_mzdm
复制代码
结果与上面是一样的,这里就不截图了
若是你的SQL2005中已经有一张表结构与dbf文件中表结构相似(就是可以把数据导入的表),那么也可以使用以下的语句完成数据的导入:
insertinto #td_mzdm
select*from openrowset('MICROSOFT.JET.OLEDB.4.0' ,'dBase 5.0;DATABASE=c:/code/','select * from [TD_MZDM.DBF]')
复制代码
当然我们也可以向dbf文件中插入数据,其方式差不多,代码如下:
insertintoopenrowset('MICROSOFT.JET.OLEDB.4.0', 'dBase 5.0;DATABASE=c:/code/', 'select * from [TD_BYLB.DBF]') select*from dbo.td_bylbdm
复制代码
结果得到受影响的行数:
导入完数后,我们需要关闭那个高级选项Ad Hoc Distributed Queries,代码如下:
---关闭Ad Hoc Distributed Queries: exec sp_configure 'Ad Hoc Distributed Queries',0 reconfigure exec sp_configure 'show advanced options',0 reconfigure
复制代码
最后要说明的一点是:不同的版本的dbf文件所对应的SQL语句不一定都相同,所以以上代码只作为一个参考和思路,谢谢!!!
相关文章推荐
- 向SQL2005中导入.dbf文件中的数据
- SQL Server 2008导入DBF文件中的数据
- dbf/access/excel等数据导入到sql2005
- [SQL码农]SQL Server 2008导入DBF文件中的数据
- 如何在 SQL2005 导入 DBF 数据
- 使用C#把dbf格式文件的数据导入到sqlserver中
- dbf文件数据导入数据库
- 使用T-SQL导入多个文件数据到SQL Server中
- csv格式的文件数据导入mysql指定的表中方法
- mysql中将数据导入csv文件以及将csv文件导入mysql
- 直接复制Excel表格数据到PL/SQL和导入Excel文件到PL/SQL
- php上传xls文件导入到mysql数据表
- 将Excel文件数据导入到SqlServer数据库的三种方案
- SpringMVC 实现POI读取Excle文件中数据导入数据库(上传)、导出数据库中数据到Excle文件中(下载)
- 将HFile文件导入到Hbase中,挖掘后的结果数据
- mysql导入csv文件数据
- 效率最高的Excel数据导入---(c#调用SSIS Package将数据库数据导入到Excel文件中【附源代码下载】)
- php 爬虫的简单实现, 获取整个页面, 再把页面的数据导入本地的文件当中
- C#Winform向数据库中导入.txt或者.CSV文件的数据
- oracle中,使用sqlldr将文件中的数据导入到数据库