oracle不同库之间传送文件,EXCEL与ORACLE间的数据互传法数据库 -电脑资料

众所周知,MicrosoftExcel能很直观而方便地进行数据输入,统计,生成图表,但它的数据管理能力有限,对大量的数据查询能力不足,如果利用它数据计算方面的优点和大型 数据库 ORACLE的数据查询优点,可以设计出功能强大的数据处理系统,

众所周知,MicrosoftExcel能很直观而方便地进行数据输入,统计,生成图表,但它的数据管理能力有限,对大量的数据查询能力不足,如果利用它数据计算方面的优点和大型数据库ORACLE的数据查询优点,可以设计出功能强大的数据处理系统。

假设与Excel数据文件相对应的职工情况表EMP已在ORAC LE系统中创建,此表中各字段按照顺序分别是职工代号( Emp—No),职工姓名(Ename),工资(Salary),雇用时间(Hiredate)。

本文将通过此例来介绍Excel与ORACL E数据交换的具体步骤。

1、将Excel中的数据装入ORACLE数据库

通过ORACLE数据库系统的高级应用工具SQL*Loader 可以将原来的Excel中存储的数据直接装入ORACLE数据库的表中。

首先,在MicrosoftExcel中完成表格数据输入后,选择“保存文件”命令,在出现对话框的“文件类型”栏中选取“格式化文本文件(空格分隔)”以形成一个标准格式化文本文件(*.PRN)或是选取“CSV(逗号分隔)” 形成一个逗号定界文件(*.CSV)。这两者的区别是:标准格式的文本文件中每个记录等长,数据间按原库文件字段长度紧凑排列,字符型字段数据左对齐,数据型字段数据右对齐,不足部分用空格补足。逗号定界文件特点是各记录可不等长,字段按其定义顺序依次排列,字段间用逗号分隔,字符型字段和数据型字段的左右端空格被消去。

因为这两种格式文件有不同的数据装入方法,假如我们将职工情况EMP表存为EMP.CSV,数据变成如下形式:

120,JOE,1192.64,93/04/11

121,KERT,309.60,87/01/14

23,PETER,1500.25,84/03/12

124,SMITH,678.00,91/01/07

15,YOUNG,2390.12,80/05/03

接着,通过记事本建立以下控制文件,它包含了数据文件的名称及其格式,文件字段如何定界,数据类型是怎样等内容,将该装载控制文件保存为EMP.CTL:

LOADDATA INFILE 'C:\EMP.CSV’BADFILE 'EMP.BAD' DISCARDFILE 'EMP.DSC' APPEND INTOTABLEEMP FILEDS TERMINATED BY "," (Emp-No,Ename,Salary,HiredateDATA(8) "Y Y/MM/DD")

之后,双击SQL*Loader图标,进入ORA?CLE7的数据装载工具,在弹出的SQLLOADER主屏幕对话框中,分别输入用户登录名,密码,数据库名称和控制文件名,确认后进行数据装载。这样SQL*Loader一边转换、装入数据,一边将执行过程中的错误信息和统计信息存入登录文件(LogFile)中,把ORACLE拒绝装入的原始数据存入拒绝文件(RejectFile)。用户可以在装载完成后,打开登录文件文件查看数据的装载情况,了解因为何种原因使得数据被拒绝,是因为数据本身不符合数据库的数表定义还是违反了完整性原则等其它原因。由此可见,数据装载不仅快速而且安全。

特别要提到的是可以通过SQL*Loader同时将数据文件装入多个数表。例如在Excel表格中输入数据时,可以对应输入该职工参加的项目代号(Proj-No),现在需要将这些数据分别装入EMP表和PROJ表,EXCEL与ORACLE间的数据互传法数据库》(https://www.unjs.com)。数据文件按标准格式存储如下所示,其中第5,6,7列均为该职工参加的项目代号:

120JOE1192.6493/04/11101112

121KERT309.6087/01/142812

23PETER1500.2584/03/124017

124SMITH678.0091/01/07102021

15YOUNG2390.1280/05/03432617

编写的装载数据控制文件可以是:

LOADDATA INFILE'C:\EMP.PRN'  BADFILE'EMP.BAD' DISCARDFILE 'EMP.DSC' APPEND INTOTABLE EMP(Emp-NoPOSITION(01:05)INTEGER EXTERNAL,EnamePOSITION(06:15)CHAR, SalaryPOSITION(16:25)DECIMAL EXTERNAL, HiredatePOSITION(26:34)INTEGEREXTERNAL) INTOTABLEPROJ WHENProj-No!K'' (Emp-NoPOSITION(1:4)INTEGEREXTERNAL, Proj-NoPOSITION(35:38)INTEGEREXTERNAL) INTOTABLEPROJ WHENProj-No!K'' (Emp-NoPOSITION(1:4)INTEGEREXTERNAL, Proj-NoPOSITION(39:42)INTEGEREXTERNAL) INTOTABLEPROJ WHENProj-No!K'' (Emp-NoPOSITION(1:4)INTEGEREXTERNAL, Proj-NoPOSITION(43:46)INTEGEREXTERNAL)

注意,CHAR,INTEGEREXTERNAL和DECIMALEXTERNAL这些数据类型是指数据文件中的数据类型,而不是数据库中数表的数据类型。数字字段的EXTERNAL暗示了它不是以二进制格式存储的数字,而是以人可以识别的ASCII码格式存储。

这样运行SQL*Loader之后,所需数据被分别装入两个数表,非常方便。

2、将ORACLE数据文件转化为Excel文件 当需要在Excel下获取ORACLE数据时,可以通过ODBC (假设ORACLE是安装在Win?dowsNT操作系统下)。ODBC的英文意思是OpenDatabaseConnectivity(开放式数据库连接),它是Microsoft提供的一组标准应用程序编程接口(API)。ODBC建立了一组应用程序直接操作数据库数据的规范,允许用户的应用程序使用基于SQL语言的不同类型的数据库管理系统。 在Excel的“数据”菜单中获取“获取外部数据”,M icrosoftQuery被启动。这是一个非常有用的数据查询程序,它能在网络上以客户机/服务器形式快速查询数据。在其中的File菜单中选取NewQuery,“SelectDataSource ”窗口出现,提示用户在DataSource列表中选取需获取的数据所在的数据源。点按“Other”按钮,“ODBCDataSour ce”窗口出现,列出了机器中已被定义的所有ODBC数据源,如果在其中未能找到ORACLE数据源,说明对应于ORACLE 数据源的ODBCDriver驱动程序未有安装。此时,只要点选 New按纽,在出现的“AddDataSource”对话框中选取ORAC LE7.1Driver,“Oracle7ODBCSetup”窗口出现,分别输入数据库名字和有效的SQL*Net主机连接字符串(格式如:P/ServerName/InstantId),确认后MicrosoftQrery 就与ORACLE中的数据库相连。这之后,用户就可以象使用本机上的数据一样,对服务器数据进行操作。查询得到结果退出MicrosoftQuery时,选择“返回Excel”,数据就被取回到Excel中,在那里进行报表,制图处理,输出结果。

这样就可以非常方便地在Excel和ORACLE之间完成数据互传,实现这两个软件取长补短,使其更好地为我们服务。

原文转自:http://www.ltesting.net

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/263790.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用ANT打包Android应用

大家好,今天来分享一下如何使用ANT打包Android应用。 通常我们习惯用eclipse来开发Android程序,它会自动帮我们打包当前的应用程序。如果在Navigator视图下,我们可以看到以下几个文件: 在上图中,com包放置的是我们的cl…

迷你飞信一出,LibFetion该挂了把

飞信确实是个好东西! 发短信不要钱 支持群发,这样发个通知什么的,可以轻松搞定 但是以前的飞信客户端太庞大了 好几十M呢 而且光大还多了很多没有用的功能 比如:什么飞信空间啊,网上营业厅,彩信&#xff0c…

oracle t7-2报价,Sun/Oracle T7-2服务器主板7315607全新7318270原装7318240

Sun/OracleT7-2服务器主板7315607全新7318270原装7318240为便于产品发布和因市场行情随时变动,产品所有信息及价格请以实际咨询为准!谢谢!!Sun/Oracle T7-2服务器主板7315607 System Board Assembly 7318270•530-3510 Interlock …

OSI

OSI(开放系统互联(Open System Interconnection)) OSI是Open System Interconnection的缩写,意为开放式系统互联。国际标准化组织(ISO)制定了OSI模型,该模型定义了不同计算机互联的标准,是设计和…

asp.net发送邮件时在正文中插入图片

#region 发送邮件 /// <summary> /// 通过附件发送邮件 /// </summary> /// <param name"emailFrom">发送人邮箱地址</param> /// <param name"files">图片地址</param>/// <param na…

Java设计模式(1)工厂模式(Factory模式)

工厂模式定义&#xff1a;提供创建对象的接口。 为何使用工厂模式 工厂模式是我们最常用的模式了&#xff0c;著名的Jive论坛&#xff0c;就大量使用了工厂模式&#xff0c;工厂模式在Java程序系统可以说是随处可见。为什么工厂模式是如此常用&#xff1f;因为工厂模式就相当于…

cmd使用另一个Oracle的sid,(转发备用)Oracle SID在本机上已经存在,请指定一个不同的SID”的解决办法...

(转发备用)Oracle SID在本机上已经存在,请指定一个不同的SID”的解决办法(2014-04-30 10:57:17)1、 开始&#xff0d;&#xff1e;设置&#xff0d;&#xff1e;控制面板&#xff0d;&#xff1e;管理工具&#xff0d;&#xff1e;服务 停止所有Oracle服务。2、 开始&#xff0…

$Poj1952\ $洛谷$1687\ Buy\ Low,Buy\ Lower$ 线性$DP+$方案计数

Luogu Description 求一个长度为n的序列a的最长下降子序列的长度,以及这个长度的子序列种数,注意相同的几个子序列只能算作一个子序列. n<5000,a[i]不超过long范围 Sol 求最长下降子序列的长度: 1.f[i]表示以a[i]结尾的最长下降子序列长度 2.f[i]表示以i结尾的最长下降子序列…

阻塞和非阻塞通信

同步、异步、阻塞和非阻塞是几种基本的sockets调用方式&#xff0c;也是在进行网络编程时需要理解和区分的基本概念之一。关于这方面的文章和讨论相当丰富&#xff0c;这里着重讨论其中两个比较容易混淆的两个&#xff0c;即非阻塞与异步的关系。 先还是简单所列一下几中调用方…

我和《Visual c++2013入门经典(第7版)》的那些事

前言 笔者今天有幸看到了Visual c2013入门经典&#xff08;第7版&#xff09;&#xff0c;这一本书&#xff0c;回想之前看过些书的2010的版本&#xff0c;陪伴我渡过了漫长的C基础学习之路&#xff0c;下面我将讲述对《Visual c2013入门经典&#xff08;第7版&#xff09;》看…

oracle中的mount是什么意思,oraclenomountmountopen直接的关系

startup nomount startup mount startup open (startup的默认选项) 其他常用的参数&#xff1a;read only ,read write ,force,restrict 这些参数可以一起使用,比如 startup 与 startup open read write 是一样的效果。 Oracle的启动过程&#xff1a;启动实例 - 装载数据库 - 打…

JavaScript中的各种宽高以及位置总结

在javascript中操作dom节点让其运动的时候&#xff0c;常常会涉及到各种宽高以及位置坐标等概念&#xff0c;如果不能很好地理解这些属性所代表的意义&#xff0c;就不能理解js的运动原理&#xff0c;同时&#xff0c;由于这些属性概念较多&#xff0c;加上浏览器之间 实现方式…

C# 制作Com组件:java调用.net DLL的方法

本文将详细为大家介绍一个java调用.net DLL的方法&#xff0c;以实现特殊的客户的特殊要求&#xff1a;“在Java项目中必须使用其提供的用.net写的DLL加密机制&#xff01;” 环境与工具&#xff1a; ◆.net framework 3.5 C# ◆java jdk1.5&#xff0c; Tomcat 5.5 ◆jacob-1.…

MySQL 8.0索引合并

简介参考https://dev.mysql.com/doc/refman/8.0/en/index-merge-optimization.html#index-merge-intersection。索引合并是通过多个range类型的扫描并且合并它们的结果集来检索行的。仅合并来自单个表的索引扫描&#xff0c;而不是跨多个表的索引扫描。合并会产生底层扫描的三种…

linux开通80端口命令,Linux iptables开启80端口

Linux下安装好apache的时候访问IP 发现无法访问!以为安装失败了&#xff0c;于是测试apache 监听的端口80#netstat -lnt |grep 80tcp 0 0 :::80 :::* LISTEN安装成功了&#xff01;想到用本机telnet IP 80不通- - 但…

linux匿名页 文件页,文件页和匿名页

文件页和匿名页文件页内存回收, 也就是系统释放掉可以回收的内存, 比如缓存和缓冲区, 就属于可回收内存. 它们在内存管理中, 通常被叫做文件页 (File-backed Page). 大部分文件页, 都可以直接回收, 以后有需要时, 再从磁盘重新读取就可以了.脏页那些被应用程序修改过, 并且暂时…

第十五周学习总结

学习时间15h      代码行数400行博客数2篇学习内容这周主要做了php大作业的项目&#xff0c;添加了购物车和订单&#xff0c;管理员管理订单的功能&#xff0c;主要运用了session来储存纸&#xff0c;再用session时&#xff0c;必须前面添加session_star();且前面不能有输…

科学家研究:生女有撇步 多钙少碰香蕉

&#xff08;联合早报网讯&#xff09;台湾自由时报报道&#xff0c;科学家研究指出&#xff0c;育龄妇女若想生女孩&#xff0c;应该戒吃香蕉&#xff0c;多吃豆类与硬起司&#xff0c;以及排卵前后数天禁欲&#xff1b;要是能恪守上述规范&#xff0c;日后弄瓦而非弄璋的成功…

服务端配置实现AJAX跨域请求

2019独角兽企业重金招聘Python工程师标准>>> 一直以为AJAX跨域是无法逾越的鸿沟&#xff0c;最近发现原来在服务端可以通过发送header信息来允许AJAX跨域请求。 PHP代码示例&#xff1a; header(Access-Control-Allow-Origin:*); header(Access-Control-Allow-Hea…

linux系统的运行定义在,Linux系统运行级管理

运行级的概念来自SystemV运行级别将启动过程分成不同的集合每个集合包含一组脚本当init程序切换运行级到对应的级别时相应的脚本就被触发切换运行级可以通过执行init[级别号]完成(比如在Linux中runlevel代表reboot所以执行init就会引起系统重新启动)下面是一个标准的Linux的/et…