文档库 最新最全的文档下载
当前位置:文档库 › 异构数据库之间数据的导入导出

异构数据库之间数据的导入导出

异构数据库之间数据的导入导出
异构数据库之间数据的导入导出

异构数据库之间数据的导入导出

本文讨论了如何通过Transact-SQL以及系统函数OPENDATASOURCE和OPENROWSET在同构和异构数据库之间进行数据的导入导出,并给出了详细的例子以供参考。

1. 在SQL Server数据库之间进行数据导入导出

(1).使用SELECT INTO导出数据

在SQL Server中使用最广泛的就是通过SELECT INTO语句导出数据,SELECT INTO语句同时具备两个功能:根据SELECT后跟的字段以及INTO后面跟的表名建立空表(如果SELECT后是*, 空表的结构和FROM所指的表的结构相同);将SELECT查出的数据插入到这个空表中。在使用SELECT INTO语句时,INTO后跟的表必须在数据库不存在,否则出错,下面是一个使用SELECT INTO的例子。

假设有一个表table1,字段为f1(int)、f2(varchar(50))。

SELECT * INTO table2 FROM table1

这条SQL语的在建立table2表后,将table1的数据全部插入到table1中的,还可以将*改为f1或f2以便向适当的字段中插入数据。

SELECT INTO不仅可以在同一个数据中建立表,也可以在不同的SQL Server数据库中建立表。

USE db1

SELECT * INTO db2.dbo.table2 FROM table1

以上语句在数据库db2中建立了一个所有者是dbo的表table2,在向db2建表时当前登录的用户必须有在db2建表的权限才能建立table2。使用SELECT INTO要注意的一点是SELECT INTO不可以和COMPUTE一起使用,因为COMPUTE返回的是一组记录集,这将会引起二意性(即不知道根据哪个表建立空表)。

(2).使用INSERT INTO 和UPDATE插入和更新数据

SELECT INTO只能将数据复制到一个空表中,而INSERT INTO可以将一个表或视图中的数据插入到另外一个表中。

INSERT INTO table1 SELECT * FROM table2

或INSERT INTO db2.dbo.table1 SELECT * FROM table2

但以上的INSERT INTO语句可能会产生一个主键冲突错误(如果table1中的某个字段是主键,恰巧table2中的这个字段有的值和table1的这个字段的值相同)。因此,上面的语句可以修改为

INSERT INTO table1 -- 假设字段f1为主键

SELECT * FROM table2 WHERE NOT EXISTS(SELECT table1.f1 FROM table1 WHERE table1.f1=table2.f1 )

以上语句的功能是将table2中f1在table1中不存在的记录插入到table1中。

要想更新table1可以使用UPDATE语句

UPDATE table1 SET table1.f1=table2.f1, table1.f2=table2.f2 FROM table2 WHERE table1.f1=table2.f1

将以上两条INSERT INTO和UPDATE语句组合起来在一起运行,就可以实现记录在table1中不存在时插入,存在时更新的功能,但要注意要将UPDATE放在INSERT INTO 前面,否则UPDATE更新的记录数将是table1和table2记录数的总和。

2. 使用OPENDATASOURCE和OPENROWSET在不同类型的数据库之间导入导出数据

在异构的数据库之间进行数据传输,可以使用SQL Server提供的两个系统函数OPENDATASOURCE和OPENROWSET。

OPENDATASOURCE可以打开任何支持OLE DB的数据库,并且可以将OPENDATASOURCE做为SELECT、UPDATE、INSERT和DELETE后所跟的表名。如

SELECT * FROM OPENDATASOURCE('SQLOLEDB', 'Data

Source=192.168.18.252;User ID=sa;Password=test').pubs.dbo.authors

这条语句的功能是查询192.168.18.252这台机器中SQL Server数据库pubs中的authors表。从这条语句可以看出,OPENDATASOURCE有两个参数,第一个参数是provider_name,表示用于访问数据源的OLE DB 提供程序的PROGID 的名称。provider_name 的数据类型为char,没有默认值。第二个参数是连接字符串,根据OLE

DB Provider不同而不同(如果不清楚自己所使用的OLE DB Provider的连接字符串,可以使用delphi、visual studio等开发工具中的ADO控件自动生成相应的连接字符串)。

OPENROWSET函数和OPENDATASOURCE函数类似,只是它可以在打开数据库的同时对数据库中的表进行查询,如以下语句

OPENROWSET('MSDASQL.1', 'Driver=Microsoft Visual FoxPro Driver; SourceDB=c:\db; SourceType=DBF', SELECT * FROM [b.dbf])

最后一个参数查询foxpro表b.dbf,读者可以通过where条件对b.dbf进行过滤。如果将INSERT INTO、SELECT INTO和OPENDATASOURCE或OPENROWSET一起使用,就可以使SQL Server数据库和其它类型的数据库之间进行数据导入导出。下面介绍如何使用这两个函数在SQL Server数据库和其它类型的数据库之间进行数据导入导出。

(1).SQL Server数据库和SQL Server数据库之间的数据导入导出。

导入数据

SELECT * INTOauthors1 FROM OPENDATASOURCE( 'SQLOLEDB', 'Data Source=192.168.18.252;User ID=sa;Password=abc').pubs.dbo.authors

导出数据

INSERT INTO OPENDATASOURCE('SQLOLEDB','Data

Source=192.168.18.252;User ID=sa;Password=abc').test.dbo.authors select * from pubs.dbo.authors

在这条语句中OPENDATASOURCE(...)可以理解为SQL Server的一个服

务,.pubs.dbo.authors是这个服务管理的一个数据库的一个表authors。使用INSERT INTO时OPENDATASOURCE(...)后跟的表必须存在。

也可以将以上的OPENDATASOURCE换成OPENROWSET

INSERT INTO OPENROWSET('SQLOLEDB','192.168.18.252;sa;abc', select * from test.dbo.kk) SELECT * FROM pubs.dbo.authors

使用OPENROWSET要注意一点,192.168.18.252;sa;abc中间是";",而不是","。OPENDATASOURCE和OPENROWSET都不接受参数变量。

(2). SQL Server数据库和Access数据库之间的数据导入导出。

导入数据

SELECT * INTO access FROM

OPENDATASOURCE( 'Microsoft.Jet.OLEDB.4.0',

'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\data.mdb;Persist Security Info=False')...table1

或者使用OPENROWSET

SELECT * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',

'c:\data.mdb;admin;',SELECT * FROM table1)

导出数据

INSERT INTO

OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0','Provider=Microsoft.Jet.OLEDB.

4.0;Data Source=c:\data.mdb;Persist Security Info=False')...table1 SELECT * FROM access

打开access数据库的OLE DB Provider叫Microsoft.Jet.OLEDB.4.0,需要注意的是操作非SQL Server数据库在OPENDATASOURCE(...)后面引用数据库中的表时使用"...”,而不是“.”。

(3). SQL Server数据库和文本文件之间的数据导入导出。

导入数据

SELECT * INTO text1 FROM

OPENDATASOURCE('MICROSOFT.JET.OLEDB.4.0','Text;DATABASE=c:\')...[da ta#txt]

导出数据

INSERT INTO

OPENDATASOURCE('MICROSOFT.JET.OLEDB.4.0','Text;DATABASE=c:\')...[da ta#txt] SELECT * FROM text1

或者使用OPENROWSET

INSERT INTO

OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Text;DATABASE=c:\, [data#txt]') SELECT * FROM text1

如果要插入部分字段,可使用

INSERT INTO

OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Text;DATABASE=c:\, SELECT aa FROM [data#txt]') SELECT aa FROM text1

这条SQL语句的功能是将c盘根目录的data.txt文件导入到text1表中,在这里文

件名中的“.”要使用“#”代替。在向文本导出时,不仅文本文件要存在,而且第一行必须和要导出表的字段一至。

(4). SQL Server数据库和dbase数据库之间的数据导入导出。

导入数据

SELECT * INTO dbase FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0 ', 'dBase III;HDR=NO;IMEX=2;DATABASE=C:\',SELECT * FROM [b.dbf])

导出数据

INSERT INTO OPENROWSET('MICROSOFT.JET.OLEDB.4.0' , dBase

III;HDR=NO;IMEX=2;DATABASE=C:\,SELECT * FROM [b.dbf]) SELECT * FROM dbase

OPENROWSET(...)中的b.dbf使用[...]括起来,是为了当dbf文件名有空格等字符时不会出错,如果没有这些特殊字符,可以将[...]去掉

(5). SQL Server数据库和foxpro数据库之间的数据导入导出。

导入数据

SELECT * INTO foxpro FROM OPENROWSET('MSDASQL.1',

'Driver=Microsoft Visual FoxPro Driver;SourceDB=c:\; SourceType=DBF,

'SELECT * FROM [a.dbf])

导出数据

INSERT INTO OPENROWSET('MSDASQL.1' , 'Driver=Microsoft Visual FoxPro Driver; SourceDB=c:\db;SourceType=DBF,'SELECT * FROM a.dbf) SELECT * FROM foxpro

在此处a.dbf不能使用[...]括起来,否则出错(这是由driver决定的)。

(6). SQL Server数据库和excel文件之间的数据导入导出

导入数据

SELECT * INTO excel FROM

OPENDATASOURCE(MICROSOFT.JET.OLEDB.4.0,Excel

5.0;DATABASE=c:\book1.xls )...[Sheet1$]

导出数据

INSERT INTO OPENDATASOURCE(MICROSOFT.JET.OLEDB.4.0,Excel

5.0;DATABASE=c:\book1.xls )...[Sheet1$] SELECT * FROM excel

在book1.xls的Sheet1中必须有和excel表相对应的字段,否则会出错。

以上讨论了几种常用的数据库和SQL Server数据库之间如何使用Transact-SQL进行数据导入导出。在SQL Server中还提供了将其它类型的数据库注册到SQL Server中的功能,这样就可以和使用SQL Server数据库表一样使用这些被注册数据库中的表了。

EXEC sp_addlinkedserver access,OLE DB Provider for Jet,

Microsoft.Jet.OLEDB.4.0, c:\data.mdb

以上SQL使用存储过程sp_addlinkedserver注册了一个access数据库,我们可以在SQL Server中使用如下语句查询在data.mdb中的table1。

SELECT * FROM access...table1

这样就可很方便地查询access数据库中的表了,如果要导入table1,可以使用SELECT * INTO table2 FROM access...table1。如果想删除注册的数据库连接,使用如下语句。

EXEC sp_dropserver access

使用Transact-SQL不仅可以向SQL Server数据库导入导出数据,而且还可以使任意两种类型数据库之间互相导入导出数据。以access和excel为例进行说明。

INSERT INTO OPENDATASOURCE(MICROSOFT.JET.OLEDB.4.0,Excel

5.0;DATABASE=c:\book1.xls )...[Sheet1$] SELECT * FROM OPENROWSET(Microsoft.Jet.OLEDB.4.0, c:\data.mdb;admin;,SELECT * FROM table1)

以上SQL语句将access数据库的table1表的数据插入到excel文件book1.xls中的Sheet1表单中。

使用Transact-SQL进行数据的导入导出,可以很方便地将这些Transact-SQL语句放到客户端程序中(如delphi、c#等),从而可以很容易地编写自已的数据库导入导出工具

数据库数据导入导出方法

数据库数据导入导出方法 1逻辑导入 备份方法: 在主机服务器的DOS提示符下输入: EXP USERID=ZLHIS/HIS BUFFER=4096 FILE=D:\20040101.dmp LOG=D:\20040101.log OWNER=(ZLHIS) ROWS=Y INDEXES =Y CONSTRAINTS =Y GRANTS=Y DIRECT=N 表示只导出zlhis用户的数据对象 Buffer:该值越大,导出的时间略短。 File:表示导出的dmp的文件路径 Log:表示导出的日志文件路径 其余参数可以通过exp help=y查询。 2逻辑导出 在主机服务器的DOS提示符下输入: IMP USERID=ZLHIS/HIS FROMUSER=(ZLHIS) TOUSER=(ZLHIS) BUFFER=30720 FILE=D:\20040101.dmp LOG=D:\20040101.log ROWS=Y INDEXES=Y CONSTRAINTS =Y GRANTS =Y SHOW=N COMMIT =Y IGNORE=Y 表示只导入zlhis用户的数据对象 Buffer:该值越大,导入的时间略短。 File:表示导入的dmp的文件路径 Log:表示导入的日志文件路径 Ignore:Oracle在恢复数据的过程中,当恢复某个表时,该表已经存在,就要根据ignore 参数的设置来决定如何操作。若ignore=y,Oracle不执行CREATE TABLE语句,直接将数据插入到表中,如果插入的记录违背了约束条件,比如主键约束,则出错的记录不会插入,但合法的记录会添加到表中。若ignore=n,Oracle不执行CREATE TABLE语句,

Excel到SQLServer数据库的数据导入导出技术研究

Excel到S QL Server数据库的数据导入导出技术研究3 王晓刚 杨春金 (武汉理工大学信息工程学院 武汉 430063) 摘 要 介绍Del phi中,采用新一代数据访问技术dbExp ress和OLE技术来实现Excel数据表到S QL Server数据库的数据导入和导出,及其在高速公路车辆查询系统中的应用。 关键词 dbExp ress S QL server Excel OLE 中图分类号 TP317.3 1 引言 办公自动化信息管理系统的用户常常会遇到需要把由Excel存储的数据资料导入到S QL Server 数据库,同时又要把S QL Server数据库中的数据导出到Excel数据表的问题。不同的编程语言有不同的解决方法。本文介绍应用Del phi编程来实现Excel数据表到S QL Server数据库的数据导入导出技术。 2 基本思路 OLE自动化是W indows应用程序操纵另一个程序的一种机制。被操纵的一方称为自动化服务器,操纵自动化服务器的一方称为自动化控制器。通过引用这些对象实现对自动化服务器的调用,然后通过设置对象的属性和使用对象的方法操纵自动化服务器,实现两者之间的通讯。 Del phi在数据库方面提供的强大又富有弹性的能力给广大编程人员带来了方便。dbExp ress是Del phi下一代的数据访问技术。提供高效率数据访问以及提供跨平台能力的数据访问引擎。dbEx2 p ress包含了7个组件,它们是TS QLConnecti on、TS QLDataSet、TS QLQuery、TS QLSt oredPr oc、TS QLT2 able、TS QLMonit or和TSi m p le DataSet,这些组件的功能就是让应用程序连接后端数据库,访问数据表中的数据,把修改的数据更新回数据库中以及让程序员观察dbExp ress向后端数据库下达命令等。 Del phi完全支持OLE应用程序自动化,提供的Servers栏控件可以很容易开发OLE自动化控制器实现对OLE自动化服务器的调用。在Del phi内部运行OLE自动化程序需要在U ses语句中加入Co2 mobj来开始自动化程序。通过调用Create O le Ob2 ject来检索一个自动化对象,Create O le Object调用大量系统内部的OLE函数,创建一个I dis patch的实例,并从Variant中返回一个Del phi变量类型,可以根据不同的环境提供不同的功能,这里我们使用Variant来引用Excel内部的对象以建立Del phi与Excel之间的连接。并采用dbExp ress建立Del phi 和S QL Server之间的连接,来实现Excel数据表到S QL Server数据库的数据导入和导出。 3 dbExp ress访问S QL Server技术 dbExp ress通过TS QLConnecti on组件同S QL Server数据库进行连接。双击TS QLConnecti on,就会弹出它的组件编辑器,在这个组件编辑器里,我们就可以定义连接数据库的类型,数据库名称,登陆帐号、密码等信息。以下就是我们连接名为DB2 SERVER的数据库服务器的具体情况: D river Name=MSS QL//数据库类型 Host N a me=DBSERVER//数据库服务器 Database=ETEST//数据库名 U ser_Na me=sa//登陆帐号 Pass word=sa//登陆密码 B l obSize=-1 LocaleCode=0000 MSS QL Transls olati on=ReadComm ited OS Authenticati on=False 在连接上数据库以后,dbExp ress提供了两种方法:一是使用TSi m p le DataSet组件;二是使用TS QLDataSet搭配T DataSetPr ovider和TClient D ata2 Set组件来对数据库进行访问。在实现简单数据访 85 计算机与数字工程 第35卷3收到本文时间:2006年6月8日 作者简介:王晓刚,男,硕士研究生,研究方向:网络设计及信息管理。杨春金,男,副教授,研究方向:信号与信息处理。

DB数据库导入导出定稿版

D B数据库导入导出精 编W O R D版 IBM system office room 【A0816H-A0912AAAHH-GX8Q8-GNTHHJ8】

DB2数据导入导出 2012年3月12日 编辑:徐彦 一、环境 操作系统:Redhat Linux AS 5.5 (2.6.18-128.el5PAE #1 SMP i686 i386 GNU/Linux) 数据库版本:DB2 WorkGroup版 V9.7.0 (数据库版本可通过连接数据库来查看,db2 connect to dbname)二、声明 实例用户,默认为db2inst1 Das用户,默认为dasusr1 数据库安装目录($INSTHOME),默认为/opt/ibm/db2/V9.7 实例安装目录($HOME),默认为/home/db2inst1/ 实例名:db2inst1 数据库名:

三、导出具体步骤 3.1导出对象结构 建议单独创建一个数据导出目录,利于导出文件整理的清晰。 $ su – db2inst1 # 切换至db2inst1用户 $ cd / #为导出目录,例如/home/db2inst1/dbdmp(db2inst1要有相应的读写权限) $ db2 connect to # 连接至数据库 $ db2look –d -e –a –l –o .sql # 导出数据库对象创建脚本 例子: 数据库名为meibof

3.2导出数据库数据 (建议在目录下另建db2move的目录用来存放导出数据,因为db2move命令会产生若干文件) db2move export (如果导出是发现有warning,在上面的命名后面加上 -aw参数) 以数据库名为meibof为例: 四、导入具体步骤 4.1建立新数据库 $ su – db2inst1 # 切换至db2inst1用户 db2 create db (建议使用db2cc工具来进行创建数据库) 创建名为meibof的数据库: 4.2执行.sql脚本创建数据库 切换到放置.sql的目录 db2 –tvf .sql

数据导入导出

C:\Users\student01>exp ceshi/seentao tablespaces=(system,ceshi) file=d:\ceshi4.d mp C:\Users\student01>exp system/seentao owner=ceshi file=d:\ceshi5.dmp C:\Users\student01>exp ceshi/seentao tablespaces=(system,ceshi) transport_tables pace=y file=d:\ceshi6.dmp Export: Release 10.2.0.1.0 - Production on 星期二8月5 14:33:53 2014 Copyright (c) 1982, 2005, Oracle. All rights reserved. 连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options EXP-00044: 必须以'SYSDBA' 身份连接, 才能进行时间点恢复或可传输的表空间导入EXP-00000: 导出终止失败 C:\Users\student01>imp ceshi/seentao file=d:\ceshi.dmp fromuser=ceshi C:\Users\student01>imp ceshi/seentao file=d:\ceshi.dmp full=y C:\Users\student01>imp ceshi/seentao file=d:\ceshi00.dmp fromuser=ceshi 数据泵导入导出 C:\Users\student01>sqlplus/nolog SQL*Plus: Release 10.2.0.1.0 - Production on 星期二8月5 15:27:06 2014 Copyright (c) 1982, 2005, Oracle. All rights reserved. SQL> conn/as sysdba 连接数据库 已连接。 SQL> select * from dba_directories where directory_name='DATA_PUMP_DIR'; OWNER DIRECTORY_NAME ------------------------------ ------------------------------ DIRECTORY_PATH -------------------------------------------------------------------------------- SYS DATA_PUMP_DIR C:\oracle\product\10.2.0\db_1\admin\orcl\dpdump\ SQL> exit 从Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options 断开 C:\Users\student01>expdp ceshi/seentao dumpfile=ceshi.dmp 数据泵导出数据库 C:\Users\student01>md d:\pump C:\Users\student01>sqlplus/nolog SQL*Plus: Release 10.2.0.1.0 - Production on 星期二8月5 15:39:07 2014 Copyright (c) 1982, 2005, Oracle. All rights reserved.

如何导入导出MySQL数据库

如何导入导出MySQL数据库 1. 概述 MySQL数据库的导入,有两种方法: 1) 先导出数据库SQL脚本,再导入; 2) 直接拷贝数据库目录和文件。 在不同操作系统或MySQL版本情况下,直接拷贝文件的方法可能会有不兼容的情况发生。 所以一般推荐用SQL脚本形式导入。下面分别介绍两种方法。 2. 方法一SQL脚本形式 操作步骤如下: 2.1. 导出SQL脚本 在原数据库服务器上,可以用phpMyAdmin工具,或者mysqldump(mysqldump命令位于mysql/bin/目录中)命令行,导出SQL 脚本。 2.1.1 用phpMyAdmin工具 导出选项中,选择导出“结构”和“数据”,不要添加“Drop DATABASE”和“Drop TABLE”选项。 选中“另存为文件”选项,如果数据比较多,可以选中“gzipped”选项。 将导出的SQL文件保存下来。 2.1.2 用mysqldump命令行 命令格式 mysqldump -u用户名-p 数据库名> 数据库名.sql 范例: mysqldump -uroot -p abc > abc.sql (导出数据库abc到abc.sql文件) 提示输入密码时,输入该数据库用户名的密码。 2.2. 创建空的数据库 通过主控界面/控制面板,创建一个数据库。假设数据库名为abc,数据库全权用户为abc_f。 2.3. 将SQL脚本导入执行 同样是两种方法,一种用phpMyAdmin(mysql数据库管理)工具,或者mysql命令行。 2.3.1 用phpMyAdmin工具 从控制面板,选择创建的空数据库,点“管理”,进入管理工具页面。 在"SQL"菜单中,浏览选择刚才导出的SQL文件,点击“执行”以上载并执行。 注意:phpMyAdmin对上载的文件大小有限制,php本身对上载文件大小也有限制,如果原始sql文件 比较大,可以先用gzip对它进行压缩,对于sql文件这样的文本文件,可获得1:5或更高的压缩率。 gzip使用方法: # gzip xxxxx.sql

金算盘软件数据导入和导出操作方法

金算盘软件维护集锦 此为201003版本,本期讲一下“导入导出”的一些注意事项,以“往来期初”导入导出为例。 导入导出这个功能是十分有用的,特别是在实施时,对于数据量较大一些基础信息,如果采用手工录入,将会费时费力,影响效率。利用我们软件的“导入导出”功能,将会大大提高工作效率。但如果有些细节不注意,会导入不成功。现说明如下。 导入任何信息之前,最好先在我们软件里做几笔数据,再导出来,其目的就是要利用导出文件的格式对要导入的信息进行编辑、整理,再将编辑、整理的信息导入到软件里。我们软件的导出文件有两个,后缀名分别是INI、Dat,以往来期初为例,其导出的文件是Format.INI、RPInit.Dat。 编辑、整理信息,实际上就是对Dat文件里的内容进行编辑。很多服务人员都习惯以“记事本、写字板”方式打开,实际上最好的方式是在Excel处理为好。无论那一种方式,只要格式正确都可以成功导入。 1、以记事本方式进行处理,编辑界面如下。 要注意,此方式下每两行记录为一条完整的“导入导出”信息。格式给人感觉有点乱,一不小心就容易出错。除非取消“自动换行”选项,才会成为一行记录就是一条导入信息。 更为重要的是,编辑完成保存时,一定要注意所保存文件的“编码”不要搞错,一但搞错将无法导入。如下图:

编码有“ANSI、Unicode、Unicode big endian、UTF-8”这四种,只有保存为“ANSI”编码才能完全导入成功。对于Unicode、Unicode big endian这两种编码,是根本导不成功的。对于UTF-8这种编码,导入信息不完整,且提示信息让人看不懂,如下图所示: 由上图可看出,提示有1条导入成功、4条导入失败,而实际上,我所做的“应收应付”导入信息总共只有4条。如果此时点“是”,系统会导入其中一条,其它三就导不成功。 因此,以“记事本”方式编辑导入信息时,关键一点就是保存时的“编码”不要搞错。要记住,只能是ANSI这种编码。 2、以写字板方式进行处理,编辑界面如下。 这种方式比“记事本”方式要好得多,至少格式规范、不易出错,且一行记录就是一条导入信息,不存在“换行”操作。 但此方式编辑内容后,保存时要注意“保存类型”(这里不存在“编码”之说),如下图:

oracle数据库数据的导入导出

Oracle数据库导入导出命令(备份与恢复) Toad 一个很好的oralce数据库操作与管理工具,使用它可以很方便地导入导出数据表,用户以及整个数据库。今天在这里主要讲一下用命令行来操作oracle数据导入和导出: 备份数据 1、获取帮助: exp help=y 2. 导出一个完整数据库 exp user/pwd@instance file=path full=y 示例:exp system/system@xc file = c:/hehe full =y imp tax/test@tax file=d:/dbbak.dmp full=y 3 、导出一个或一组指定用户所属的全部表、索引和其他对象 exp system/manager file=seapark log=seapark owner=seapark exp system/manager file=seapark log=seapark owner=(seapark,amy,amyc,harold) 示例:exp system/system@xc file=c:/hehe owner=uep 4、导出一个或多个指定表 exp system/manager file=tank log=tank tables=(seapark.tank,amy.artist) 示例:exp system/system@xc file=c:/heh tables=(ueppm.ne_table) 恢复数据 1. 获取帮助 imp help=y 2. 导入一个完整数据库 imp system/manager file=bible_db log=dible_db full=y ignore=y 3. 导入一个或一组指定用户所属的全部表、索引和其他对象 imp system/manager file=seapark log=seapark fromuser=seapark imp system/manager file=seapark log=seapark fromuser=(seapark,amy,amyc,harold) 4. 将一个用户所属的数据导入另一个用户 imp system/manager file=tank log=tank fromuser=seapark touser=seapark_copy imp system/manager file=tank log=tank fromuser=(seapark,amy) touser=(seapark1, amy1) 5. 导入一个表 imp system/manager file=tank log=tank fromuser=seapark TABLES=(a,b) ************************ **************************** 利用Export可将数据从数据库中提取出来,利用Import则可将提取出来的数据送回Oracle 数据库中去。 1. 简单导出数据(Export)和导入数据(Import) Oracle支持三种类型的输出: (1)表方式(T方式),将指定表的数据导出。 (2)用户方式(U方式),将指定用户的所有对象及数据导出。 (3)全库方式(Full方式),将数据库中的所有对象导出。 数据导出(Import)的过程是数据导入(Export)的逆过程,它们的数据流向不同。

DB数据库导入导出精修订

D B数据库导入导出 集团标准化工作小组 #Q8QGGQT-GX8G08Q8-GNQGJ8-MHHGN#

DB2数据导入导出 2012年3月12日 编辑:徐彦 一、环境 操作系统:Redhat Linux AS ( #1 SMP i686 i386 GNU/Linux) 数据库版本:DB2 WorkGroup版 V9.7.0 (数据库版本可通过连接数据库来查看,db2 connect to dbname)二、声明 ●实例用户,默认为db2inst1 ●Das用户,默认为dasusr1 ●数据库安装目录($INSTHOME),默认为/opt/ibm/db2/ ●实例安装目录($HOME),默认为/home/db2inst1/ ●实例名:db2inst1 ●数据库名: 三、导出具体步骤 导出对象结构 建议单独创建一个数据导出目录,利于导出文件整理的清晰。 $ su – db2inst1 # 切换至db2inst1用户 $ cd / #为导出目录,例如/home/db2inst1/dbdmp(db2inst1要有相应的读写权限)$ db2 connect to # 连接至数据库 $ db2look –d -e –a –l –o .sql # 导出数据库对象创建脚本

例子: 数据库名为meibof 导出数据库数据 (建议在目录下另建db2move的目录用来存放导出数据,因为db2move命令会产生若干文件) db2move export (如果导出是发现有warning,在上面的命名后面加上 -aw参数) 以数据库名为meibof为例: 四、导入具体步骤 建立新数据库 $ su – db2inst1 # 切换至db2inst1用户 db2 create db (建议使用db2cc工具来进行创建数据库) 创建名为meibof的数据库: 执行.sql脚本创建数据库 切换到放置.sql的目录 db2 –tvf .sql (单次导入有可能丢失数据结构,建议连续执行3次,导入完成后,和开发人员确认数据库对象的数量,尤其是存储过程。) 导入数据 切换到放置db2move导出数据的目录 db2move load

DB数据库的导入和导出详解

本文件为您介绍DB2数据库中表结构的导入和导出的两种常用方法,供您参考选择,希望能够对您有所帮助。 方法一 在控制中心的对象视图窗口中,选择所要导出表结构的数据表,按住Ctrl或Shift可多选,单击鼠标右键,选择->生成DDL即可。 方法二 ◆第一步:打开DB2的命令行工具,在DB2安装目录的BIN文件夹下新建一个文件夹data,并且进入该目录。 创建该目录: mkdir data 进入该目录: cd data ◆第二步:导出表结构,命令行如下: db2look -d dbname -e -a -x -i username -w password -o ddlfile.sql 执行成功之后,你会在刚才新建的文件夹下找到该sql文件。 ◆第三步:导出数据,命令行如下: db2move databasename export -u username -p password 至此,导出数据结束。 2导出表中数据 export to [path(例:D:"TABLE1.ixf)] of ixf select [字段(例: * or col1,col2,col3)] from TABLE1; export to [path(例:D:"TABLE1.del)] of del select [字段(例: * or col1,col2,col3)] from TABLE1; 导入表的数据 import from [path(例:D:"TABLE1.ixf)] of ixf insert into TABLE1; load from [path(例:D:"TABLE1.ixf)] of ixf insert into TABLE1;

db数据库导入导出

DB2数据导入导出 2012年3月12日 编辑:徐彦 一、环境 操作系统:Redhat Linux AS 5.5 (-128.el5PAE #1 SMP i686 i386 GNU/Linux) 数据库版本:DB2 WorkGroup版V9.7.0 (数据库版本可通过连接数据库来查看,db2 connect to dbname) 二、声明 ●实例用户,默认为db2inst1 ●Das用户,默认为dasusr1 ●数据库安装目录($INSTHOME),默认为/opt/ibm/db2/V9.7 ●实例安装目录($HOME),默认为/home/db2inst1/ ●实例名:db2inst1 ●数据库名: 三、导出具体步骤 3.1导出对象结构 建议单独创建一个数据导出目录,利于导出文件整理的清晰。 $ su – db2inst1 # 切换至db2inst1用户 $ cd / #为导出目录,例如/home/db2inst1/dbdmp(db2inst1要有相应的读写权限) $ db2 connect to # 连接至数据库 $ db2look –d -e –a –l –o .sql # 导出数据库对象创建脚本 例子: 数据库名为meibof 3.2导出数据库数据 (建议在目录下另建db2move的目录用来存放导出数据,因为db2move命令会产生若

干文件) db2move export (如果导出是发现有warning,在上面的命名后面加上-aw参数) 以数据库名为meibof为例: 四、导入具体步骤 4.1建立新数据库 $ su – db2inst1 # 切换至db2inst1用户 db2 create db (建议使用db2cc工具来进行创建数据库) 创建名为meibof的数据库: 4.2执行.sql脚本创建数据库 切换到放置.sql的目录 db2 –tvf .sql (单次导入有可能丢失数据结构,建议连续执行3次,导入完成后,和开发人员确认数据库对象的数量,尤其是存储过程。) 4.3导入数据 切换到放置db2move导出数据的目录 db2move load 4.4一致性检查 原理:如果发现有表存在检查挂起状态(由于检查约束的原因),则输入命令如下 db2 set integrity for schema.tablename immediate checked将其转换成正常状态。 首先利用sql 语句得到要检查的表的执行语句 主要命令: db2 "select 'db2 set integrity for .'||TABNAME||' immediate checked' from sy scat.tables where TABSCHEMA='' and STATUS='C'" 以数据库名meibof,SCHEMA名meibof为例: 查出有14张表需要转换成正常状态。 在上一条语句末加上 > filename.sh把要添加的sql语句添加到脚本文件 如下例: 用vi文本编辑器打开脚本文件: 1)在第一行加入连接数据库sql语句; 2)在最后一行加入commit命令,db2 commit 执行完后再次检查发现没有需要更正的: 说明:如果还有需要更正的表,则反复执行上述操作。

DB数据库导入导出

D B数据库导入导出 Revised final draft November 26, 2020

D B2数据导入导出 2012年3月12日 编辑:徐彦 一、环境 操作系统:RedhatLinuxAS5.5 (-128.el5PAE#1SMPi686i386GNU/Linux) 数据库版本:DB2WorkGroup版V9.7.0 (数据库版本可通过连接数据库来查看,db2connecttodbname) 二、声明 实例用户,默认为db2inst1 Das用户,默认为dasusr1 数据库安装目录($INSTHOME),默认为/opt/ibm/db2/V9.7 实例安装目录($HOME),默认为/home/db2inst1/ 实例名:db2inst1 数据库名: 三、导出具体步骤 3.1导出对象结构 建议单独创建一个数据导出目录,利于导出文件整理的清晰。 $su–db2inst1 #切换至db2inst1用户 $cd/ #为导出目录,例如/home/db2inst1/dbdmp(db2inst1要有相应的读写权限) $db2connectto #连接至数据库 $db2look–d-e–a–l–o.sql #导出数据库对象创建脚本 例子: 数据库名为meibof 3.2导出数据库数据 (建议在目录下另建db2move的目录用来存放导出数据,因为db2move命令会产生若干文件) db2moveexport

(如果导出是发现有warning,在上面的命名后面加上-aw参数) 以数据库名为meibof为例: 四、导入具体步骤 4.1建立新数据库 $su–db2inst1 #切换至db2inst1用户 db2createdb(建议使用db2cc工具来进行创建数据库) 创建名为meibof的数据库: 4.2执行.sql脚本创建数据库 切换到放置.sql的目录 db2–tvf.sql (单次导入有可能丢失数据结构,建议连续执行3次,导入完成后,和开发人员确认数据库对象的数量,尤其是存储过程。) 4.3导入数据 切换到放置db2move导出数据的目录 db2moveload 4.4一致性检查 原理:如果发现有表存在检查挂起状态(由于检查约束的原因),则输入命令如下 db2setintegrityforschema.tablenameimmediatechecked将其转换成正常状态。 首先利用sql语句得到要检查的表的执行语句 主要命令: db2"select'db2setintegrityfor.'||TABNAME||'immediatechecked'fromsyscat.tableswhereTABSCHEMA=''an dSTATUS='C'" 以数据库名meibof,SCHEMA名meibof为例: 查出有14张表需要转换成正常状态。 在上一条语句末加上>filename.sh把要添加的sql语句添加到脚本文件 如下例: 用vi文本编辑器打开脚本文件: 1)在第一行加入连接数据库sql语句; 2)在最后一行加入commit命令,db2commit 执行完后再次检查发现没有需要更正的: 说明:如果还有需要更正的表,则反复执行上述操作。

数据库数据导入导出

数据库 系统分别拥有一份独立的Oracle数据库逻辑备份文件(后缀为dmp的操作系统文件),每个子系统的导入数据库结构和基础数据的操作是单独执行的。 第一步,以超级管理用户进入Oracle创建用户和授权 第二步:创建表空间(create tablespace law datafile 'D:/oradate/law.dbf' size 300m autoextend on next 50m;) 第三步: --删除用户(第一次可以不用执行,以后想要重新导入数据库才执行这个语句)

drop user law_test cascade; --创建用户和授权 create user law_test identified by law_test default tablespace law; --授权 grant connect,resource,select any dictionary , unlimited tablespace,create any view, create materialized view to law_test; 导入数据库 1、第一步:用Oracle数据库备份恢复命令,导入数据库结构和基础 数据,格式如下: imp {数据库用户名}/{数据库用户密码}file=”{带完整路径的Oracle数据库逻辑备份文件}” imp law_test/law_test file=d:\db\law_test.dmp full=y 2,第二步,看到的导入的页面

最后的提示说导入成功的提示; 导出数据库 exp {数据库用户名}/{数据库用户密码}file=”{带完整路径的Oracle数据库逻辑备份文件}” exp law_test/law_test file=”d:\law_test.dmp”;

access数据库导入和导出

一、excel数据导入到access数据库 (1)直接导入法 1.启动Access,新建一数据库文件。 2.在“表”选项中,执行“文件→获取外部数据→导入”命令,打开“导入”对话框。 3.按“文件类型”右侧的下拉按钮,选中“Microsoft Excel(.xls)”选项,再定位到需要转换的工作簿文件所 在的文件夹,选中相应的工作簿,按下“导入”按钮,进入“导入数据表向导”对话框(图1)。 4.选中需要导入的工作表(如“工程数据”),多次按“下一步”按钮作进一步的设置后,按“完成”按钮。 注意:如果没有特别要求,在上一步的操作中直接按“完成”按钮就行了。 5.此时系统会弹出一个导入完成的对话框,按“确定”按钮。 至此,数据就从Excel中导入到Access中。 (2)建立链接法 1.启动Access,新建一数据库文件。 2.在“表”选项中,执行“文件→获取外部数据→链接表”命令,打开“链接”对话框。 二、Access中数据导入excel 在Excel中使用Access数据 你可能想在Excel工作簿中使用Access数据,以便利用数据分析和绘制图表功能、数据排列和布局的灵活性或其他一些Access中不可用的功能。 将Access数据复制到Excel中 你能从Access的数据表视图复制数据,然后将数据粘贴到Excel工作表中。 1. 启动Access,然后打开包含要复制的记录的表、查询或窗体。 2. 在“起始页”选项卡上单击“视图”,然后单击“数据表视图”。 3. 选择要复制的记录。 如果要选择特定列,请在相邻的列标题之间拖动。 4. 在“开始”选项卡上的“剪贴板”组中,单击“复制”。 5. 启动Excel,然后打开要在其中粘贴数据的工作表。 6. 单击要显示第一个字段名称的工作表区域的左上角。 若要确保复制的记录不替换现有记录,请确保工作表中你单击的单元格的下方和右方不存在数据。 7. 在“开始”选项卡上的“剪贴板”组中,单击“粘贴”。

MySQL教程:MySQL数据库导出和导入的方法

MySQL教程:MySQL数据库导出和导入的方法.txt25爱是一盏灯,黑暗中照亮前行的远方;爱是一首诗,冰冷中温暖渴求的心房;爱是夏日的风,是冬日的阳,是春日的雨,是秋日的果。MySQL教程:MySQL数据库导出和导入的方法 1).MySQLimport的语法介绍: MySQLimport位于MySQL/bin目录中,是MySQL的一个载入(或者说导入)数据的一个非常有效的工具。这是一个命令行工具。有两个参数以及大量的选项可供选择。这个工具把一个文本文件(text file)导入到你指定的数据库和表中。比方说我们要从文件Customers.txt中把数据导入到数据库Meet_A_Geek中的表Custermers中: MySQLimport Meet_A_Geek Customers.txt 注意:这里Customers.txt是我们要导入数据的文本文件,而Meet_A_Geek是我们要操作的数据库,数据库中的表名是Customers,这里文本文件的数据格式必须与Customers表中的记录格式一致,否则MySQLimport命令将会出错。 其中表的名字是导入文件的第一个句号(.)前面文件字符串,另外一个例子:MySQLimport Meet_A_Geek Cus.to.mers.txt 那么我们将把文件中的内容导入到数据库Meet_A_Geek 中的Cus表中。 上面的例子中,都只用到两个参数,并没有用到更多的选项,下面介绍MySQLimport的选项 2).MySQLimport的常用选项介绍: 选项功能 -d or --delete 新数据导入数据表中之前删除数据数据表中的所有信息 -f or --force 不管是否遇到错误,MySQLimport将强制继续插入数据 -i or --ignore MySQLimport跳过或者忽略那些有相同唯一关键字的行,导入文件中的数据将被忽略。 -l or -lock-tables 数据被插入之前锁住表,这样就防止了,你在更新数据库时,用户的查询和更新受到影响。 -r or -replace 这个选项与-i选项的作用相反;此选项将替代表中有相同唯一关键字的记录。 --fields-enclosed- by= char 指定文本文件中数据的记录时以什么括起的,很多情况下数据以双引号括起。默认的情况下数据是没有被字符括起的。 --fields-terminated- by=char 指定各个数据的值之间的分隔符,在句号分隔的文件中,分隔符是句号。您可以用此选项指定数据之间的分隔符。 默认的分隔符是跳格符(Tab)

用友NC财务软件数据导出方法

用友NC财务软件数据导出方法 重要提示:以下操作是在用友NC中进行的,请先运行用友NC财务软件,然后按以下步骤执行数据导出. 一、导出期初余额 1. 第一步: 财务会计→总账→账簿查询→科目余额表(双击) 2.查询 3.设置查询条件

科目级次选 择很重要 这个勾最好 去掉 (1)选择年份 (2)导出期初数选择1-12月(也可以直接选择1月,只不过没有累计发生额) (3)导出发生额选择某一个月,比如导出2月的发生额则选择200X.02 -200X.02 (4)科目级次:选择1-最低级(比如是5) 说明:科目级次必须选择1级到最低级,不能只是一级,也不能只是末级. 单击[确定] 4. 打印→按显示打印(重要) 不要选错呀! 5.输出

6.选择:导出类型为:Excel 7.输入文件名,比如:yue 并.单击;保存,工作表名可以不管。 导出发生额当然要分多次导出(一般在导出期初数时,余额表中已包含1月的发生额)。(当然,发生额不用导出,因为可以从凭证汇总发生额) 二、用友NC导出凭证 1. 第一步: 总账→账簿查询→序时账(这一步很重要,如果不对有可能凭证没有科目编码) 2.选择月份 (选择一个月,要分次导出),如果不分次导出,当凭证很多时,会不完整。 3 其余操作同期初余额输出 4.选择:导出类型为:文本文件(最好,导入数据对内存要求低)或Microsoft Excel 97 5.输入文件名,比如:Pz1 并.单击;保存,工作表名可以不管。 重要说明: 在导出用友凭证时,当一次导出的凭证太多(比如:超过3000张)时,有可能凭证导出结果(不全或不正确,因用友软件偶尔会漏一两个分录) 因此,应根据凭证分次导出(最好是一个月或三个月一次凭证,全年分12次导出)特殊情况:如果一个月的凭证就已经很多,按一个月导出也不行时,则一个月的凭证要分次导出.方法是:

数据库中数据的导入导出以及数据库的备份与还原

桂林电子科技大学 数学与计算科学学院实验报告 一,实验目的 % 1、掌握SQL SERVER数据的导入/导出; 2、掌握SQL SERVER的数据备份和恢复机制; 3、掌握SQL SERVER中数据库备份和恢复的方法。 二,实验原理 1、表中的数据导出和导入: 在企业管理器中选择数据库选择表单击鼠标右键所有任务导出(导入)数据下一步选择数据源下一步在“目的”的下拉列表中选择导出(导入)的数据类型和路径、文件名依次点击下一步完成导出(导入)操作。 2、使用企业管理器备和还原份数据库: 在企业管理器中选择数据库点击鼠标右键所有任务备份(还原)数据库 选择备份(还原)的路径,按提示完成。 ~ 三,使用仪器,材料 计算机、SQL2000软件 四,实验内容与步骤 1、使用企业管理器对表中的数据导入/导出 (1)将数据库student09中的sc表中的数据导出为文本文件 在企业管理器中选择数据库student09选择sc表单击鼠标右键所有任务 导出数据出现DTS导入/导出向导下一步选择数据库下一步在“目的”的下 拉列表中选择“文本文件”,指定文本文件的路径和名词依次点击下一步完成导出操 作。用记事本打开导出文件,检查导出的数据是否正确。 (2)将以上的文本文件的内容导入到数据库student09的表中 在企业管理器中选择数据库student09选择sc表单击鼠标右键所有任务 导入数据出现DTS导入/导出向导下一步选择数据源,选择分隔符下一步在 “目的”的下拉列表中选择要导入的表依次点击下一步完成导出操作。打开表查看

导入的数据是否正确。 2、使用企业管理器创建student09数据库的备份文件 在企业管理器中选择数据库点击鼠标右键所有任务备份数据库选择备份文件的路径,然后依次按照对话框的提示进行操作即可创建数据库的备份文件。 } 3、利用以上创建的数据库备份文件恢复数据库 在企业管理器中选择数据库点击鼠标右键所有任务还原数据库选择还原文件的路径,然后依次按照对话框的提示进行操作即可恢复数据库。 五,实验过程原始记录(数据,图表,计算等) 1、使用企业管理器对表中的数据导出: 选择导出文件的类型和路径: 选择格式和要导出的表:

SQL server 数据库的导入导出与复制

第13章数据库的导入导出与复制 本章内容 13.1 数据库的导入导出 13.2 数据库复制技术 13.1 数据库的导入导出 13.1.1 导入导出概述 13.1.2 导入数据 13.1.3 导出数据 13.1.1 导入导出概述 ?数据导入导出操作(为SQL的数据转换服务)主要解决异构数据源之间相互转换。 ?目的是提高数据库管理系统的适应性,是数据库管理系统的一个核心技术和组件。 数据导入导出实现不同格式的数据在应用程序之间交换 dBase Microsoft Access Microsoft Data Link Microsoft Excel Microsoft Visual FoxPro 其他ODBC数据源 其他OLE DB数据源 Paradox 文本文件 表13-1 数据导入导出方法和工具 13.1.2 导入数据 导入数据的操作步骤: 步骤1: ?在企业管理器中,从“工具”菜单中选择“向导…” ?在“向导”对话框中选择数据转换服务中的DTS导入向导 步骤2 ?打开“数据转换服务导入/导出向导”界面,单击“下一步”按钮 步骤3 ?选择导入数据源。选择文本文件为数据源,在“文件名”编辑框中输入C:\SUPPLIER.TXT 文本文件,将其导入Sales数据库的Supplier表 步骤4 ?单击“下一步”按钮,显示“选择文件格式”对话框 步骤5 ?单击“下一步”按钮,显示“指定列分隔符”对话框。“预览”列表框显示数据文件的数据。 步骤6 ?单击“下一步”按钮,显示“选择目的”对话框。 步骤7 ?单击“下一步”按钮,显示选择源表和视图对话框。选择导入数据的supplier表 步骤8 ?单击“下一步”按钮,显示“保存、调度和复制包”对话框。 步骤9 ?单击“下一步”按钮,在“正在完成DTS导入/导出向导”界面中单击“完成”按钮,运行数据导入工作。最后显示用户操作成功。 13.1.3 导出数据 导出数据的操作步骤:

相关文档