Sqlserver 2012 导入 DBF文件

步骤一.将dbf文件放在任意系统目录下,我放在d:\db目录下

步骤二.需安装 AccessDatabaseEngine.exe (ACE)

官网下载地址:

https://www.microsoft.com/en-us/download/details.aspx?id=13255

安装之后在 sqlserver 实例下 ->“链接服务器”-> “访问接口”中会看到以下接口。

步骤三.在ssms中执行sql查询语句

select*from OPENROWSET(‘Microsoft.ACE.OLEDB.12.0‘,‘dBase IV;HDR=NO;IMEX=2;DATABASE=d:/db‘,‘select * from [2015.DBF]‘)

这里会报错,类似

许执行以下语句:

exec sp_configure ‘show advanced options‘,1

reconfigure
exec sp_configure ‘Ad Hoc Distributed Queries‘,1
reconfigure

EXEC master.dbo.sp_MSset_oledb_prop N‘Microsoft.ACE.OLEDB.12.0‘, N‘AllowInProcess‘, 1

EXEC master.dbo.sp_MSset_oledb_prop N‘Microsoft.ACE.OLEDB.12.0‘, N‘DynamicParameters‘, 1

步骤四.再次执行sql 查询命令

select*from OPENROWSET(‘Microsoft.ACE.OLEDB.12.0‘,‘dBase IV;HDR=NO;IMEX=2;DATABASE=d:/db‘,‘select * from [2015.DBF]‘)

提示如下

需安装Foxpro,并在Foxpro命令框输入以下命令 回车

USE ‘d:\db\2015.dbf‘ EXCLUSIVE;

COPY TO ‘d:\db\2015new.dbf‘ TYPE FOX2X;

再次执行,这里应该选择新的dbf文件2015new.dbf,最终成功读取了dbf文件内容。速递还是比较快的,100多万的数据全表查询用了1分钟左右。

select*from OPENROWSET(‘Microsoft.ACE.OLEDB.12.0‘,‘dBase IV;HDR=NO;IMEX=2;DATABASE=d:/db‘,‘select * from [2015new.DBF]‘)

知识点总结:

1.以下命令作用

exec sp_configure ‘show advanced options‘,1

reconfigure

exec sp_configure ‘Ad Hoc Distributed Queries‘,1
reconfigure

EXEC master.dbo.sp_MSset_oledb_prop N‘Microsoft.ACE.OLEDB.12.0‘, N‘AllowInProcess‘, 1

EXEC master.dbo.sp_MSset_oledb_prop N‘Microsoft.ACE.OLEDB.12.0‘, N‘DynamicParameters‘, 1

2.为什么要复制一份

USE ‘d:\db\2015.dbf‘ EXCLUSIVE;

COPY TO ‘d:\db\2015new.dbf‘ TYPE FOX2X;

时间: 2024-10-10 04:51:38

Sqlserver 2012 导入 DBF文件的相关文章

[转载]在SQL Server 中,如何实现DBF文件和SQL Server表之间的导入或者导出?

原来使用SQL Server 2000数据库,通过DTS工具很方便地在SQL Server和DBF文件之间进行数据的导入和导出,现在安装了SQL Server2005之后,发现其提供的“SQL Server导入导出向导”中的数据源没有原来的丰富,缺少对DBF文件的支持. 1.右击数据库,选择“任务”>“导入数据”,打开“SQL Server导入和导出向导”对话框.2.在“数据源”中选择Microsoft OLE DB Provider for Visual FoxPro,单击“属性”按钮,打开“

Sqlserver 平面文件导入/ SSIS FlatFileSource导入文件时 出现LocaleID is not installed报错问题

最近在使用SqlServer和SSIS导入一个CSV文件到数据库时(SSIS选用的FlatFileSource作为数据流源),老是遇到  The LocaleID 4 is not installed on this system. 这个错误. 后来搞了老半天发现是FlatFileSource的Locale选项选择上出现了问题,由于要导入的CSV文件中包含中文,所以在用Sqlserver/SSIS导入csv时我在FlatFileSource的Locale上选择了Chinese (Simplifi

导入50G文件到mysql,然后再倒入sqlserver

--导入大文件30G文件到mysql1.修改配置innodb_flush_log_at_trx_commit=0 2.导入时的注意事项set autocommit=1;show variables like 'autocommit';set names utf8;source f://file.sql; 3.过程中查看导入的数量SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED ;SELECT count(id) FROM TABLE_NAME ;C

SQLServer 2012 Always on配置全过程

SQLServer 2012 Always on是针对高可用性和灾难恢复的新解决方案.可以配置一个或多个辅助副本以支持对辅助数据库进行只读访问,并且可以将任何辅助副本配置为允许对辅助数据库进行备份. 这样就提供了硬件的使用效率. “可用性组”针对一组离散的用户数据库(称为“可用性数据库”,它们共同实现故障转移)支持故障转移环境.一个可用性组支持一组主数据库以及一至四组对应的辅助数据库.可用性组在可用性副本级别进行故障转移.故障转移不是由诸如因数据文件丢失或事务日志损坏而使数据库成为可疑数据库等数

java解析dbf文件

dbf文件, 不能直接另存为excel文件, 会丢数据! 需要将dbf数据存储到数据库中, 在从数据库中将数据导出成excel. import java.io.File; import java.io.FileInputStream; import java.io.InputStream; import java.sql.Connection; import java.sql.PreparedStatement; import java.util.ArrayList; import java.u

mysql source命令导入sql文件效率分析

Query OK, 24918 rows affected (0.90 sec)Records: 24918  Duplicates: 0  Warnings: 0Query OK, 24923 rows affected (2.26 sec)Records: 24923  Duplicates: 0  Warnings: 0Query OK, 24924 rows affected (2.74 sec)Records: 24924  Duplicates: 0  Warnings: 0Quer

dbf文件的解析方法

// 先下载导入dbf的jar架包  http://pan.baidu.com/s/1jIqVIcA InputStream fis = null; String sresult = ""; try { // 读取文件的输入流 fis = new FileInputStream(path); // 根据输入流初始化一个DBFReader实例,用来读取DBF文件信息 DBFReader reader = new DBFReader(fis); // 调用DBFReader对实例方法得到p

Office/Access 2013 扩展支持xbase/DBF 文件

最新的Access 2013 安装后,已经不能对dbf文件进行链接读取了,Access 2010以前的版本都可以,如果以前的项目用了Access链接大量的dbf文件的话, 升级Access 2013后,访问链接dbf文件的表,就会出错,具体的解决办法是,安装Access 2010的运行时环境,在改注册表. 我的环境是win7 64bit + Office 2013 plus 64bit. 1,下载Access 2010的支持环境AccessDatabaseEngine_X64.exe https

SQLSERVER 2012之AlwaysOn -- 一次硬件升级引发的问题

原文:SQLSERVER 2012之AlwaysOn -- 一次硬件升级引发的问题 这是上周遇到的一个案例:对已有的硬件进行升级而引发的问题,期间还触发了一个比较严重的BUG,可谓多灾多难:不过值得庆幸的是,在一连串连锁问题出现的时候,并没有出现人工操作失误(这往往是在处理故障中风险最高.影响最大的问题)而扩大故障影响范围: ==========================华丽丽的分割线========================== 先说一下环境: 我做的是跨机房3节点alwayson