SQL数据导入导出

DBF导入到Oracle数据库 今天我遇到了一个需求,是将一个DBF文件导入到Oracle库中,之前一直使用的是公司提供的迁移工具,但是不知道怎么回事今天一直报DBF文件无法访问之类的错误,尝试多次之后,一气之下弃之不用,另寻他法。 今天一直报DBF文件无法访问之类的错误,尝试多次之后,一气之下弃之不用,另寻他法。ODBC(Open Database Connectivity)是微软提供的,专门为解决异构数据库间的数据共享而产... 阅读详情


SQL数据导入导出
--------------------------------------------------------------------------------

  发表日期:2006年1月4日          【编辑录入:ecawen】 
 

******* 导出到excel
EXEC master..xp_cmdshell 'bcp SettleDB.dbo.shanghu out c:/temp1.xls -c -q -S"GNETDATA/GNETDATA" -U"sa" -P""'

/*********** 导入Excel
SELECT *
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:/test.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions

/*动态文件名
declare @fn varchar(20),@s varchar(1000)
set @fn = 'c:/test.xls'
set @s ='''Microsoft.Jet.OLEDB.4.0'',
''Data Source="'+@fn+'";User ID=Admin;Password=;Extended properties=Excel 5.0'''
set @s = 'SELECT * FROM OpenDataSource ('+@s+')...sheet1$'
exec(@s)
*/

SELECT cast(cast(科目编号 as numeric(10,2)) as nvarchar(255))+' ' 转换后的别名
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:/test.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions

/********************** EXCEL导到远程SQL
insert OPENDATASOURCE(
'SQLOLEDB',
'Data Source=远程ip;User ID=sa;Password=密码'
).库名.dbo.表名 (列名1,列名2)
SELECT 列名1,列名2
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:/test.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions


/** 导入文本文件
EXEC master..xp_cmdshell 'bcp dbname..tablename in c:/DT.txt -c -Sservername -Usa -Ppassword'

/** 导出文本文件
EXEC master..xp_cmdshell 'bcp dbname..tablename out c:/DT.txt -c -Sservername -Usa -Ppassword'
或
EXEC master..xp_cmdshell 'bcp "Select * from dbname..tablename" queryout c:/DT.txt -c -Sservername -Usa -Ppassword'

导出到TXT文本,用逗号分开
exec master..xp_cmdshell 'bcp "库名..表名" out "d:/tt.txt" -c -t ,-U sa -P password'


BULK INSERT 库名..表名
FROM 'c:/test.txt'
WITH (
FIELDTERMINATOR = ';',
ROWTERMINATOR = '/n'
)


--/* dBase IV文件
select * from
OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,'dBase IV;HDR=NO;IMEX=2;DATABASE=C:/','select * from [客户资料4.dbf]')
--*/

--/* dBase III文件
select * from
OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,'dBase III;HDR=NO;IMEX=2;DATABASE=C:/','select * from [客户资料3.dbf]')
--*/

--/* FoxPro 数据库
select * from openrowset('MSDASQL',
'Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=c:/',
'select * from [aa.DBF]')
--*/

/**************导入DBF文件****************/
select * from openrowset('MSDASQL',
'Driver=Microsoft Visual FoxPro Driver;
SourceDB=e:/VFP98/data;
SourceType=DBF',
'select * from customer where country != "USA" order by country')
go
/***************** 导出到DBF ***************/
如果要导出数据到已经生成结构(即现存的)FOXPRO表中,可以直接用下面的SQL语句

insert into openrowset('MSDASQL',
'Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=c:/',
'select * from [aa.DBF]')
select * from 表

说明:
SourceDB=c:/ 指定foxpro表所在的文件夹
aa.DBF 指定foxpro表的文件名.

 


/*************导出到Access********************/
insert into openrowset('Microsoft.Jet.OLEDB.4.0',
'x:/A.mdb';'admin';'',A表) select * from 数据库名..B表

/*************导入Access********************/
insert into B表 selet * from openrowset('Microsoft.Jet.OLEDB.4.0',
'x:/A.mdb';'admin';'',A表)

文件名为参数
declare @fname varchar(20)
set @fname = 'd:/test.mdb'
exec('SELECT a.* FROM opendatasource(''Microsoft.Jet.OLEDB.4.0'',
'''+@fname+''';''admin'';'''', topics) as a ')

SELECT *
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="f:/northwind.mdb";Jet OLEDBatabase Password=123;User ID=Admin;Password=;')...产品

********************* 导入 xml 文件

DECLARE @idoc int
DECLARE @doc varchar(1000)
--sample XML document
SET @doc ='
<root>
<Customer cid= "C1" name="Janine" city="Issaquah">
<Order oid="O1" date="1/20/1996" amount="3.5" />
<Order oid="O2" date="4/30/1997" amount="13.4">Customer was very satisfied
</Order>
</Customer>
<Customer cid="C2" name="Ursula" city="Oelde" >
<Order oid="O3" date="7/14/1999" amount="100" note="Wrap it blue
white red">
<Urgency>Important</Urgency>
Happy Customer.
</Order>
<Order oid="O4" date="1/20/1996" amount="10000"/>
</Customer>
</root>
'
-- Create an internal representation of the XML document.
EXEC sp_xml_preparedocument @idoc OUTPUT, @doc

-- Execute a SELECT statement using OPENXML rowset provider.
SELECT *
FROM OPENXML (@idoc, '/root/Customer/Order', 1)
WITH (oid char(5),
amount float,
comment ntext 'text()')
EXEC sp_xml_removedocument @idoc

 

???????

/**********************Excel导到Txt****************************************/
想用
select * into opendatasource(...) from opendatasource(...)
实现将一个Excel文件内容导入到一个文本文件

假设Excel中有两列,第一列为姓名,第二列为很行帐号(16位)
且银行帐号导出到文本文件后分两部分,前8位和后8位分开。


邹健:
如果要用你上面的语句插入的话,文本文件必须存在,而且有一行:姓名,银行账号1,银行账号2
然后就可以用下面的语句进行插入
注意文件名和目录根据你的实际情况进行修改.

insert into
opendatasource('MICROSOFT.JET.OLEDB.4.0'
,'Text;HDR=Yes;DATABASE=C:/'
)...[aa#txt]
--,aa#txt)
--*/
select 姓名,银行账号1=left(银行账号,8),银行账号2=right(银行账号,8)
from
opendatasource('MICROSOFT.JET.OLEDB.4.0'
,'Excel 5.0;HDR=YES;IMEX=2;DATABASE=c:/a.xls'
--,Sheet1$)
)...[Sheet1$]

 

如果你想直接插入并生成文本文件,就要用bcp

declare @sql varchar(8000),@tbname varchar(50)

--首先将excel表内容导入到一个全局临时表
select @tbname='[##temp'+cast(newid() as varchar(40))+']'
,@sql='select 姓名,银行账号1=left(银行账号,8),银行账号2=right(银行账号,8)
into '+@tbname+' from
opendatasource(''MICROSOFT.JET.OLEDB.4.0''
,''Excel 5.0;HDR=YES;IMEX=2;DATABASE=c:/a.xls''
)...[Sheet1$]'
exec(@sql)

--然后用bcp从全局临时表导出到文本文件
set @sql='bcp "'+@tbname+'" out "c:/aa.txt" /S"(local)" /P"" /c'
exec master..xp_cmdshell @sql

--删除临时表
exec('drop table '+@tbname)


/********************导整个数据库*********************************************/

用bcp实现的存储过程


/*
实现数据导入/导出的存储过程
根据不同的参数,可以实现导入/导出整个数据库/单个表
调用示例:
--导出调用示例
----导出单个表
exec file2table 'zj','','','xzkh_sa..地区资料','c:/zj.txt',1
----导出整个数据库
exec file2table 'zj','','','xzkh_sa','C:/docman',1

--导入调用示例
----导入单个表
exec file2table 'zj','','','xzkh_sa..地区资料','c:/zj.txt',0
----导入整个数据库
exec file2table 'zj','','','xzkh_sa','C:/docman',0

*/
if exists(select 1 from sysobjects where name='File2Table' and objectproperty(id,'IsProcedure')=1)
drop procedure File2Table
go
create procedure File2Table
@servername varchar(200) --服务器名
,@username varchar(200) --用户名,如果用NT验证方式,则为空''
,@password varchar(200) --密码
,@tbname varchar(500) --数据库.dbo.表名,如果不指定:.dbo.表名,则导出数据库的所有用户表
,@filename varchar(1000) --导入/导出路径/文件名,如果@tbname参数指明是导出整个数据库,则这个参数是文件存放路径,文件名自动用表名.txt
,@isout bit --1为导出,0为导入
as
declare @sql varchar(8000)

if @tbname like '%.%.%' --如果指定了表名,则直接导出单个表
begin
set @sql='bcp '+@tbname
+case when @isout=1 then ' out ' else ' in ' end
+' "'+@filename+'" /w'
+' /S '+@servername
+case when isnull(@username,'')='' then '' else ' /U '+@username end
+' /P '+isnull(@password,'')
exec master..xp_cmdshell @sql
end
else
begin --导出整个数据库,定义游标,取出所有的用户表
declare @m_tbname varchar(250)
if right(@filename,1)<>'/' set @filename=@filename+'/'

set @m_tbname='declare #tb cursor for select name from '+@tbname+'..sysobjects where xtype=''U'''
exec(@m_tbname)
open #tb
fetch next from #tb into @m_tbname
while @@fetch_status=0
begin
set @sql='bcp '+@tbname+'..'+@m_tbname
+case when @isout=1 then ' out ' else ' in ' end
+' "'+@filename+@m_tbname+'.txt " /w'
+' /S '+@servername
+case when isnull(@username,'')='' then '' else ' /U '+@username end
+' /P '+isnull(@password,'')
exec master..xp_cmdshell @sql
fetch next from #tb into @m_tbname
end
close #tb
deallocate #tb
end
go


/************* Oracle **************/
EXEC sp_addlinkedserver 'OracleSvr',
'Oracle 7.3',
'MSDAORA',
'ORCLDB'
GO

delete from openquery(mailser,'select * from yulin')

select * from openquery(mailser,'select * from yulin')

update openquery(mailser,'select * from yulin where id=15')set disorder=555,catago=888

insert into openquery(mailser,'select disorder,catago from yulin')values(333,777)

 

补充:

对于用bcp导出,是没有字段名的.

用openrowset导出,需要事先建好表.

用openrowset导入,除ACCESS及EXCEL外,均不支持非本机数据导入
 
 

SQL Server数据库的导入导出功能 将Excel文件数据导入到SQL Server数据库表; 将.txt文件数据导入到SQL Server数据库表; 将Access数据库数据导入到SQL Server数据库表; 将SQL Server数据库表数据导出到Excel文件; 将SQL Server数据库表数据导出到.txt文件; 将SQL Server数据库表数据导出到Access数据库。 1、将Excel文件数据导入到SQL Server数据表 (1) 启动并登录SQL Server数据库 启动相应的 SQL Server服务; 启动Mi.. 阅读详情

相关推荐

SQL server 数据导入导出BCP工具使用详解

SQL server 数据导入导出BCP工具使用详解

fsfsdfsdw的博客 1939

SQL语句导入导出大全

/******* 导出到excelEXEC master..xp_cmdshell 'bcp SettleDB.dbo.shanghu out c:\temp1.xls -c -q -S"GNETDATA/GNETDATA" -U"sa" -P""' /*********** 导入ExcelSELECT * FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4....

weixin_30551963的博客 695

SQL sever数据导入导出实验

bcp [TPC-H].[dbo].[PART] out “D:学校d大二下数据库实验一数据文件ile.csv” -c -t -T -S . -U sa -P 1234。(1)右键“数据库”,点击“新建数据库”即可。(2)进行导入,导入代码如下。1.创建数据库TCP-H。(1)下载安装bcp工具。(1)下载csv文件。

m0_74824552的博客 572

plsql odbc导入器没有DBF文件选项的处理方法

第一步 打开数据库驱动管理器 第二步,加入dbf驱动 第三部,如果无法安装,需要安装dbf驱动 驱动下载地址https://download.youkuaiyun.com/download/gongliangsl1/16774451 第四部,安装完成后即出现DBF文件选项

gongliangsl1的博客 1927

SQL Server 2005数据库导入导出完整图解教程

SQL Server 2005是微软在数据库领域的重要里程碑版本,首次引入了多项增强功能,特别是在数据导入导出、集成服务(SSIS)和管理工具方面实现了重大突破。其强大的数据迁移能力使其广泛应用于企业级数据整合、系统升级、数据备份与恢复等关键场景。本章将从整体视角出发,简要介绍SQL Server 2005的核心功能模块,重点阐述其在多数据源环境下的导入导出机制。通过理解其在ETL(抽取、转换、加载)流程中的角色,读者将为后续章节中深入掌握SSIS、SSMS操作及数据迁移最佳实践打下坚实基础。

weixin_42591908的博客 1333

实现文本和Excel数据的SQL数据库导入导出

htmltable {th, td {th {pre {简介:数据管理和操作在IT行业中至关重要,尤其是将文本和Excel文件中的数据导入SQL数据库,以及将数据导出到这些格式。本文详细介绍了实现这些操作的步骤和工具,包括数据预处理、创建表结构、执行导入操作,并考虑了数据安全性和一致性。同时,还探讨了使用Python库和数据库管理工具进行数据导出的方法,以及使用ETL工具处理复杂数据转换的情况。

weixin_33814090的博客 762

SQL Server 数据导出教程:基于查询语句的高效导出方法

SQL Server 数据导出教程:基于查询语句的高效导出方法 SQL Server根据查询结果将数据导出教程,可以选择导出源,选择自己要导出的格式文件,然后选择路径,包含首列名称。

西瓜程序猿 1万+

新年美食鉴赏——基于注意力机制CBAM的美食101分类

新年美食鉴赏——基于注意力机制CBAM的美食101分类一、数据预处理1.数据集介绍2.读取标签3.统一命名4.整理图片路径5.划分训练集与验证集6.定义美食数据集二、注意力机制1.简介2.卷积块注意力网络——CBAM通道注意力模块CAM空间注意力模块SAM3.将通道、空间注意力模块合并三、基于卷积块注意力模块的ResNet-CBAM1.代码实现2.模型测试3.查看网络结构4.模型训练5.模型预测四、总结与升华个人简介 春节是一年当中最隆重、最盛大的节日,吃得最好的一餐可能就是年夜饭了,想想就很激动呢!随着新

zbp_12138的博客 1万+

SQL Server 数据库之导入导出数据

导入数据也是数据库操作中使用频繁的功能,SQLServer数据库的导入和导出向导能将数据复制到提供托管**.ENTFramework**数据访问接口或本机OLEDB访问接口的任何数据源,也能从这些数据源复制数据;用户能访问接口的列表,数据源包括SQLServer、平面文件、MicrosoftOfficeAccess、MicrosoftOfficeExcel;连接到源数据库和目标数据库或文件共享的权限,该权限在中,需要服务器和数据库的登录权限;SELECT权限;权限;...

m0_67401228的博客 1万+

grafana使用方法

1、点击仪表盘2、新建仪表盘3、选择数据源4、选择查询的条件5、美化。

2403_87359664的博客 323

OriginPro实战:5步搞定碳材料拉曼光谱D峰G峰分析(附完整数据处理流程)

本文详细介绍了使用OriginPro进行碳材料拉曼光谱D峰G峰分析的完整流程,涵盖数据预处理、多图层可视化、高精度分峰拟合等关键步骤。特别针对材料科学研究中的基线漂移、多峰重叠等问题提供专业解决方案,帮助研究者快速完成从原始数据到科研级图表的全流程分析,提升碳材料表征效率与准确性。

vodka的博客 942

sql server 数据的导入导出命令

一、将.dbf(foxpro数据文件)导入到sql server中: -------------如果接受导入数据的SQL表不存在,导入时创建   select   *   into   要生成的SQL表名   from   openrowset(MSDASQL,Driver=Microsoft   Visual   FoxPro   Driver;SourceType=DBF;S

happy8888的专栏 3445

高通平台power_supply 框架下添加第三方充电IC的驱动方法

1.power_supply电源框架介绍: power supply framework在kernel/drivers/power/下。内核抽象出来power supply子系统为驱动提供了统一的框架。 功能包括: 1.抽象PSY设备的共性,向用户空间提供统一的API; 2.为底层PSY驱动的编写,提供简单、统一的方式,同时封装并实现公共逻辑。 power supply class位于d...

Change 1万+

SQL Server 2005导入导出数据

一、。数据表数据导入导出命令   导入数据库时数据累加   EXEC sp_configure 'show advanced options', 1   GO   RECONFIGURE   GO   EXEC sp_configure 'xp_cmdshell', 1   GO...

chenhaokun2013的博客 233

2024东南大学533复试C++程序设计笔试真题精讲

【东南553复试C++】2024东南大学533复试C++程序设计笔试真题精讲

转遍世界 3414

告别数据丢失焦虑:用Python手把手实现Reed-Solomon码(附完整代码)

本文详细介绍了如何使用Python实现Reed-Solomon纠错码(RS码),帮助开发者有效防止数据丢失。通过基础编解码实战、文件保护方案和高级性能优化技巧,读者可以轻松掌握这一前向纠错技术,应用于物联网、文件存储和网络传输等场景,提升数据可靠性。

weixin_42527160的博客 222

使用Transact-SQL进行数据导入导出方法详解

 使用Transact-SQL进行数据导入导出方法详解来源:银河使者 发布时间:2008-05-20 收藏 投稿 字体:【大 中 小】 本文讨论了如何通过Transact-SQL以及系统函数OPENDATASOURCE和OPENROWSET在同构和异构数据库之间进行数据的导入导出,并给出了详细的例子以供参考。1. 在SQL Server数据库之间进行数据导入导出(1).使用SE

IceHoo的专栏 545

公文派2025:免费社区版重大安装更新!

距离上一次更新已经过去了将近一年的时间,今天我们带来了全新的免费2025社区版,该版本也是目前最新的版本,无需授权即可使用所有的功能。

似最初 1963

SQL数据导入导出总结

SQL数据导入导出问题总结 大家打开这个链接可以看到很多数据库的连接方法。http://www.connectionstrings.com这些数据库之间的数据交换就是这个贴子所要总结的内容。(一)SQL Server之间把远程数据库中的数据导入到本地数据库。http://community.youkuaiyun.com/Expert/topic/5079/5079649.xml?temp=

笑傲江湖的专栏 1837

我用WorkBuddy“克隆“了一个我,从此每句话像我自己说的

各位,做这件事花了多长时间?准备样本可能要半小时,提炼风格十分钟,保存固化再花十分钟。加起来不到一个小时。但这一个小时之后呢?你就拥有了一个"永远在线的文字替身"。以后写口播稿,打开WorkBuddy跟它说;写课程逐字稿,跟它说;写公众号文章,也跟它说。写出来的东西,你的学员一看——“嘿,这不就是翟猛老师说的嘛。说到这儿,可能有人会问:老师,我的风格有那么重要吗?AI写的不都挺好的吗?各位你想想看,你为什么愿意听某个老师的课?不只是因为他讲的内容好,更是因为你喜欢他讲话的方式。

weixin_39284145的博客 818

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

SQL Server导入导出数据大全

SQL语句导入导出大全[收集]正巧这两天要用到这个,上网找到一个,回来自己检测一下:/******* 导出到excelEXEC master..xp_cmdshell bcp SettleDB.dbo.shanghu out c:/temp1.xls -c -q -S"GNETDATA/GNETDATA" -U"sa" -P""/*********** 导入ExcelSELECT *FROM

544

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

【SQL SERVER中关于大容量数据的导入导出总结】

博文地址 请进:http://blog.youkuaiyun.com/feixianxxx/archive/2010/03/29/5427485.aspx1。关于大容量数据导入导出的一些方法SQL SERVER提供多种工具用于各种数据源的数据导入导出,这些数据源包括本文文件、ODBC数据源、OLE DB数据源、ASCII文本文件和EXCEL电子表格。2.常用工具DTS:数据转换服务导入导出向导或者DTS设

leixg的专栏 5882

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

使用Sql语句导入导出数据

/*******  导出到excel exec master..xp_cmdshell ’bcp settledb.dbo.shanghu out c:\temp1.xls -c -q -s"gnetdata/gnetdata" -u"sa" -p""’ /***********  导入excel select * from opendatasource( ’microsoft.jet.oledb.4.0’,   ’data source="c:\test.xls";user id=admin;passwo

chengzi120的专栏 1200

Azure Data Studio 数据导入导出功能:轻松迁移 SQL Server 与 Azure SQL 数据

你是否还在为 SQL Server 与 Azure SQL 数据库之间的数据迁移烦恼?手动编写脚本容易出错,第三方工具又过于复杂?本文将详细介绍如何使用 Azure Data Studio(ADS)的导入导出功能,无需复杂代码即可完成数据迁移,让你轻松实现本地数据库与云端数据库的数据同步。读完本文,你将掌握从 CSV/Excel 文件导入数据到数据库,以及将查询结果导出为多种格式文件的完整流程,同...

gitblog_00663的博客 1107

SQL Server数据库导入导出数据方式比较

在我们建立一个数据库时,并且想将分散在各处的不同类型的数据库分类汇总在这个新建的数据库中时,尤其是在进行数据检验、净化和转换时,将会面临很大的挑战。幸好SQL Server为我们提供了强大、丰富的数据导入导出功能,并且在导入导出的同时可以对数据进行灵活的处理。 在SQL Server中主要有三种方式导入导出数据:使用Transact-SQL对数据进行处理;调用命令行工具BCP处理数据;使...

anjichan4261的博客 160
上一篇: 软件项目经理必备素质(转载)
下一篇: SQL SERVER 和ACCESS/excel的数据导入导出
SafeF8
博客等级 码龄22年 10粉丝 104原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值