excel中的数据导入oracle方法详解
- 格式:docx
- 大小:212.18 KB
- 文档页数:4
Excel转换为sql语句导入Oracle数据库2009年01月16日星期五 20:33package excel;import java.io.File;import java.io.FileWriter;import java.io.IOException;import jxl.Sheet;import jxl.Workbook;public class ExcelToInsert {public static void main(String[] args) {String table_name = "OPERATION_FILTER"; //在此输入表名int ID = 0;int OPERATION_ID = 0;int USER_ID = 0;int STATUS = 0;String USER_CN = "";String USER_NAME = "";String SQL = "";final String EXL_NAME = "OPERATION_FILTER";final String BASE_PATH = "D:/data/"; // BasePathfinal String IN_EXL_PATH = BASE_PATH + EXL_NAME + ".xls"; // excelPath StringBuffer sb = null;FileWriter fw = null;int rows = 0;int columns = 0;try {fw = new FileWriter(BASE_PATH + EXL_NAME + ".sql");final String start = "REM INSERTING into " + table_name;fw.write(start + "\r\n"); // newline// read excel filetry {Workbook rwb = Workbook.getWorkbook(new File(IN_EXL_PATH));Sheet rs[] = rwb.getSheets();for (int i = 0; i < rs.length; i++) {rows = rs[i].getRows();columns = rs[i].getColumns();System.out.println(columns+","+rows);String[] ldapattr = new String[columns];for (int j = 0; j < rows; j++) {if (j == 0) {for (int g = 0; g < columns; g++) {ldapattr[g] = rs[i].getCell(g, j).getContents();}continue;}sb = new StringBuffer();sb = sb.append("\r\n");ID = Integer.parseInt(rs[i].getCell(0, j).getContents().trim());OPERATION_ID = Integer.parseInt(rs[i].getCell(1, j).getContents().trim());USER_ID = Integer.parseInt(rs[i].getCell(2, j).getContents().trim());USER_CN = rs[i].getCell(3, j).getContents().trim();USER_NAME = rs[i].getCell(4, j).getContents().trim();STATUS = Integer.parseInt(rs[i].getCell(5, j).getContents().trim());System.out.println("VALUE:"+ID+","+OPERATION_ID+","+USER_ID+","+USER_CN+","+USER_NAME+","+STATUS);SQL = "INSERT INTO TABLE " + table_name +"(ID,OPERATION_ID,USER_ID,USER_CN," + "USER_NAME,STATUS) VALUES "+ "("+ID+","+OPERATION_ID+","+USER_ID+"," +"\""+USER_CN+"\""+","+"\""+USER_NAME+"\""+","+STATUS+")";sb = sb.append(SQL + "\r\n");fw.write(sb.toString());}}} catch (final Exception e) {ID = 1;}fw.close();} catch (final IOException ex) {ex.printStackTrace();}}}Excel 表A、B、C、D、E、F列名分别是ID、OPERATION_ID \USER_ID、USER_CN、USER_NAME、STATUS。
将excel数据导入oracle中的几种方法将Excel数据导入Oracle数据库有多种方法,下面介绍几种常用的方法,包括使用Oracle SQL Developer、使用PL/SQL、使用OracleData Integrator(ODI)和使用第三方工具。
1. 使用Oracle SQL Developer导入数据Oracle SQL Developer是Oracle官方提供的数据库开发和管理工具。
它提供了一种简单直观的方法将Excel数据导入到Oracle数据库中。
步骤如下:1) 打开Oracle SQL Developer并连接到目标数据库。
2)在导航栏中选择"表格"选项卡。
3)在"表格"选项卡中,右键单击要导入数据的表格,选择"导入数据"。
4) 在"导入数据"对话框中,选择"从文件"选项,并选择Excel文件。
5)配置导入选项,例如数据格式、目标表格和列映射等。
6)单击"导入"按钮,开始导入数据。
2.使用PL/SQL导入数据PL/SQL是Oracle的过程化编程语言,可以使用它编写脚本将Excel数据导入到Oracle数据库中。
步骤如下:1) 打开PL/SQL开发工具,例如Oracle SQL Developer或者Oracle PL/SQL Developer。
2)创建一个新的PL/SQL脚本。
3) 在脚本中使用INSERT语句将Excel中的数据逐行插入到目标表格中。
4)运行脚本以执行导入数据的操作。
3. 使用Oracle Data Integrator(ODI)导入数据Oracle Data Integrator(ODI)是一个数据集成工具,可用于将Excel数据导入到Oracle数据库中。
它提供了一种图形化的方法来定义和管理数据转换和导入操作。
步骤如下:1) 打开ODI Studio并连接到目标数据库。
众所周知,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/11121,KERT,309.60,87/01/1423,PETER,1500.25,84/03/12124,SMITH,678.00,91/01/0715,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主屏幕对话框中,分别输入用户登录名,密码,数据库名称和控制文件名,确认后进行数据装载。
Oracle使用SqlLoad导入Excel大数据操作方法第一步:按excel格式整理需要导入的源数据第二步:将excel表格另存为csv(逗号分割)格式。
第三步:用文本方式打开impfile.ctrl文件,修改里面的infile行为文件实际存放路径和名称,比如:infile 'c:\cust.csv'第四步:用文本方式打开impfile.ctrl文件,修改append into table 行后面加上要导入的表明,例如:append into table if_imp_card第五步:用文本方式打开impfile.ctrl文件,修改TRAILING NULLCOLS下面文本内容为表对应的字段和分割符(terminated by ','),最后一个字段用(terminated by whitespace),对于日期类型要在字段后定义上日期类型格式(Date(10) "YYYY-MM-DD"),例如:TRAILING NULLCOLS(oldtype terminated by ',',cardno terminated by ',',cardpwd terminated by ',',trackinfo terminated by ',',oldmkt terminated by ',',name terminated by ',',sex terminated by ',',cardflag terminated by ',',birthday Date(10) "YYYY-MM-DD" terminated by ',',idtype terminated by ',',idno terminated by ',',mindate Date(10) "YYYY-MM-DD" terminated by ',',maxdate Date(10) "YYYY-MM-DD" terminated by ',',ljjf terminated by ',',jfye terminated by ',',xfje terminated by ',',lczhye terminated by ',',flqye terminated by ',',addr terminated by ',',zipcode terminated by ',',tel terminated by ',',mobile terminated by whitespace)第六步:将impfile.ctl文件和要导入的csv数据文件拷贝到同一目录下,建议存放在盘符根目录;第七步:在CMD命令中输入oracle安装的bin路径,执行该命令执行如下指令:sqlldr userid=用户名/用户密码@数据库实例control=c:\impfile.ctl log=c:\impfile.log例如:D:\app\product\11.2.0\dbhome_1\BIN>sqlldr userid=dbusrif/future@crmls control=c:\impfile.ctl log=c:\impfile.log。
excel转oracle的insert语句如何将Excel数据转换为Oracle的Insert语句在数据库开发中,我们经常需要将Excel中的数据导入到Oracle数据库中。
为了实现这一目标,我们可以使用Excel VBA或Python等编程语言来处理数据,生成相应的Insert语句。
下面将以此为主题,一步一步回答如何将Excel数据转换为Oracle的Insert语句。
1. 准备工作:在开始之前,我们需要确保以下几个准备工作已经完成:- 安装Oracle数据库:确保你的计算机上已经安装了Oracle数据库,并且可以正常连接。
- 创建目标表:在Oracle数据库中创建一个与Excel数据对应的表,确保表结构与Excel数据中的列一致。
2. 导入Excel数据在这一步,我们将使用Excel VBA或Python等编程语言将Excel数据导入到一个新建的工作表中。
- Excel VBA:打开Excel文件,按下Alt+F11快捷键打开VBA编辑器,右键点击项目中的"Microsoft Excel 对象",选择插入-模块,然后在编辑器中编写相应的代码。
以下是一个简单的示例:vbaSub 导入数据()Dim ws As WorksheetDim rng As RangeDim conn As ObjectDim rs As ObjectDim sql As StringDim i As LongSet ws = ThisWorkbook.Sheets("Sheet1") '替换为你的工作表名Set rng = ws.Range("A2:D" & ws.Cells(ws.Rows.Count, "A").End(xlUp).Row) '替换为你的数据范围'建立数据库连接Set conn = CreateObject("ADODB.Connection")conn.ConnectionString = "Provider=OraOLEDB.Oracle;Data Source=your_db;UserID=your_username;Password=your_password;" '替换为你的数据库连接信息conn.Open'循环生成Insert语句For i = 1 To rng.Rows.Countsql = "INSERT INTO your_table (column1, column2, column3, column4) VALUES ("sql = sql & "'" & rng.Cells(i, 1).Value & "'," '替换为你的列名和对应的数据类型sql = sql & "'" & rng.Cells(i, 2).Value & "',"sql = sql & "'" & rng.Cells(i, 3).Value & "',"sql = sql & "'" & rng.Cells(i, 4).Value & "')"conn.Execute sqlNext i'关闭连接conn.CloseSet rs = NothingSet conn = NothingMsgBox "数据导入完成!"End Sub- Python:使用Python需要安装pyodbc库,并且需要先设置好数据源。
excel导入ORACLE的四个方法文章分类:数据库EXCEL里导入ORACLE有四种方法,结合网上的写写:1 使用sql *loaderSQL*LOADER是oracle的数据加载工具,在NT下sql*loader的命令为SQLLDR,在UNIX下一般为SQLLDR/SQLLOAD。
通常用来将操作系统文件迁移到oracle数据库中。
它是大型数据仓库选择使用的加载方法,因为它提供了最快速的途径(direct,parallel)。
但这种方法要求存储数据的oracle表是已经存在的。
使用这种方法导入excel内容到oracle时,首先需要将excel文件另存为文本格式,文件类型选文本类型或者csv类型即将e:\test.xls另存为e:\test.csv。
如果oracle没有对应存储数据的表结构,则需要创建表test(id,name,telphone)。
用记事本创建sql*loader控制文件test.ctl(ctl后缀是企图证明这是一个控制文件,但实际上这个文件后缀不重要,用户可以自由选择,但文件格式一定要是文本格式),内容如下:Load dataInfile ‘e:\test.csv’ --数据源文件名称Append|insert|replace --append在表后追加,insert插入空表,replace替代原有内容Into table test --要导入的数据库表名称[when id = id_memo] --过滤条件Fields terminated by X’09’ --字段分隔符(id,name,telphone) --字段名称列表最后在命令窗口输入sqlldr命令行执行导入操作Sqlldr userid =system/manager control=’e:\test.ctl’Sqlldr的函数关键字说明:Userid --oracle用户名 userid = username/passwordControl --控制文件名称control = ‘e:\insert.ctl’Log –-日志文件名称log = ‘e:\insert.log’Bad --损坏文件名称Data --data file nameDiscard --discard file nameDiscardmax --number of discards to allow(默认全部)Skip --导入时跳过的记录行数(默认0)Load --导入时导入的记录行数(默认全部)Errors --允许错误的记录行数(默认50)2 使用plsql developerPL/SQL Developer是一种专门用于开发、测试、调试和优化oracle PL/SQL存储程序单元,比如触发器,存储过程,函数和程序包等集成开发环境。
一、概述在日常的数据处理工作中,经常会遇到需要从Excel文件中将数据导入到数据库表格中的情况。
而Java作为一种强大的编程语言,提供了丰富的工具和库来解析Excel文件,并将数据存储到数据库中。
在本文中,我们将重点介绍如何使用Java来解析Excel文件,并使用Oracle数据库创建相应的表格存储数据。
二、Java解析Excel1. 选用合适的Java库要在Java中解析Excel文件,我们可以使用Apache POI或JExcel等开源库。
这些库提供了丰富的API和功能,可以帮助我们轻松地读取和操作Excel文件。
2. 创建Excel解析程序通过使用选定的Java库,我们可以创建一个Java程序来解析Excel文件。
我们需要读取Excel文件,并将数据存储在合适的数据结构中,比如数组或集合。
3. 解析Excel数据一旦数据被存储在Java程序中,我们可以对其进行解析和处理。
这包括对数据进行验证、清洗和转换,以确保数据的准确性和完整性。
三、Oracle创建表语句在将Excel数据导入到Oracle数据库之前,我们需要先设计好数据库表格的结构。
这包括确定表格的字段、数据类型、主键和外键等信息。
2. 创建表语句在确定表格结构之后,我们可以使用Oracle的DDL语句来创建相应的表格。
DDL语句包括CREATE TABLE、ALTER TABLE等,可以用来创建和修改数据库表格的结构。
3. 导入Excel数据一旦表格被成功创建,我们可以使用Java程序将解析好的Excel数据导入到Oracle数据库中。
这可以通过使用JDBC或其他ORM框架来实现。
四、总结通过本文的介绍,我们了解了如何使用Java来解析Excel文件,并使用Oracle数据库创建相应的表格。
这对于日常的数据处理和数据库操作非常有用,可以帮助我们轻松地将Excel数据导入到数据库中,并进行进一步的数据处理和分析。
希望读者通过本文的学习,能够更加熟练地运用Java和Oracle来处理数据,提高工作效率和数据准确性。
如何将excel导入oracle数据库的教程在中录入好数据以后就需要导入到oracle数据库,或许有些朋友不知道该如何做。
下面是带来的关于如何将excel导入oracle数据库的教程,欢送阅读!导入oracle数据库步骤1:oracle数据库有一个student表,现有一个excel表:student.xlsx,需导入oracle数据库student 表中。
导入oracle数据库步骤2:student表的拥有者是system,system密码为test导入oracle数据库步骤3:翻开需导入的excel表格,单击office按钮,选择另存为--其他格式导入oracle数据库步骤4:选择保存路径(置于D:\),保存类型CSV(逗号分隔)(*.csv),设置文件名为student.csv,单击保存导入oracle数据库步骤5:新建input.ctl文件(置于D:\),内容为:load datainfile 'd:\student.csv'append into table student fields terminated by ','trailing nullcols(id,name,sex,age)说明:infile后面参数为欲导入的excel表(已转换成csv格式)路径及名称;append在表后追加;table后面跟oracle数据库中的表名称; terminated by ','表示字段分隔符;(id,name,sex,age)表示字段名称列表导入oracle数据库步骤6:同时按Windows徽标键和R键,翻开运行,输入cmd,翻开提示符,输入命令:sqlldr userid=system/test@servicenamecontrol=d:\input.ctl说明:system/test,为oracle数据库表student的所有者及其密码;@ servicename为网络效劳名;control是input.ctl文件名称及路径导入oracle数据库步骤7:进入oracle数据库,查询student 表,excel已导入。
数据导入Oracle方法总结一、使用shp2sdo并结合SQL*Loader导入*.shp文件shp2sdo是Oracle提供的一个工具,帮助用户导入*.shp文件到Oracle Spatial中。
准备材料:shp2sdo.exe可执行文件、空间数据(此处以ArcGIS自带的World数据为例)在Windows操作系统下的导入步骤分为以下三步:1,在命令行下执行shp2sdo.exe文件。
并输入一个shapefile文件(此处为world30.shp)。
2,重新运行一个命令行窗口,用户登陆数据库后执行上步生成的SQL脚本(本例为tb_world30.sql)。
3,利用SQL*Loader执行第一步生成的*.ctl文件(tb_world30.ctl),把第二步生成的表加载至Oracle Spatial。
导入成功后,我们可以打印些数据看下:还可以登录到Oracle Enterprise Manager Console中查看生成的表的相关信息:二、使用Oracle的导入/导出(Imp/Exp)命令下面我们把scott用户下的COURSE表导入lxf用户。
首先,将scott用户的Course表导出至D盘下:然后,将D盘中的.dmp数据导入lxf用户:在Oracle Enterprise Manager Console中查看如下:三、用SQL*Loader工具向Oracle中导入Excel表格数据准备工作:在目标目录的菜单栏中选择“工具-文件夹选项”,选择弹出对话框的“查看”选项卡,找到“隐藏已知文件的扩展名”,将其勾去。
如下图红框所示:步骤如下:1,将待导入的Excel表格另存为制表符分隔格式(如果没有这一选项,说明安装不全,此时可以直接将Excel表中的数据复制到记事本中,如右图),取名为text.txt,保存到相应目录下。
2,在数据库中创建相应的表:3,在text.txt文件所在目录下新建一个文本文档,命名为input.ctl, 输入以下内容后保存。
EXCEL通过ODBC对ORACLE数据库进行数据查询操作办法一、配置数据源1、在控制面板->系统和维护->管理工具下,双击“数据源(ODBC)”,弹出“ODBC数据源管理器”窗口。
2、点“添加”,弹出“创建新数据源”窗口,选择“Microsoft ODBC forOracle”点完成,弹出“MicrosoftODBC for Oracle Setup”窗口3、设置各参数其中“数据源名称”是指创建链接的名称,与目标数据库无关;“用户名称”是指登录目标数据库的用户名;“服务器”是指服务器的名称,而不是IP地址;注:以上设置环境为Vistat系统,安装Oracle 9(必须安装Oracle)。
二、导入数据(EXCEL 2007)1、点击:数据->自其它来源->来自Microsoft Query,弹出“选择数据源”窗口。
2、选择在ODBC中已配置的数据库“NPCS”,点击确定,弹出登录窗口。
3、录入密码,点击确定,弹出“查询向导—选择列”窗口,选择须要的表,点击“+”按钮展开该表字段。
4、点击“>”按钮,选择所须字段。
点击下一步。
A、如果只对单表进行查询,弹出“查询向导—筛选数据”窗口,设定好条件后,点击下一步,弹出“查询向导—完成”窗口。
点击“完成”就可以将数据导入到选中的区域;如果这个查询经常要用,建议先点击“保存查询”。
如果你需要对这个查询进一步操作,选中“在Microsoft Query中查看……查询”,再点击完成,弹出Microsoft Query编辑器。
B、如果选中的字段在多张表中,则直接弹出Microsoft Query编辑器,单要求进行表之间的关联。
如果你会写SQL脚本,点击“SQL”快捷方式,直接就可以写脚本了。
至于Microsoft Query编辑器具体用法,我就不说了。
最近同事遇到了每天手工导入Excel数据到Oracle的问题,他目前的操作是使用PL/SQL Developer中的复制粘贴方法,这样每天都需要进行手工的操作,很明显长期下来的工作量是比较大的,于是找了几种可供使用的导入方法:一、直接使用SQL*Loader 导入SQL*Loader 是Oracle自带的数据加载工具,其数据导入比较专业,有各种参数及选项可供选择,经常是作为数据仓库中大型数据的导入方法选择。
优点:1、可将导入命令写入BAT文件直接批量处理2、导入处理比较专业,提供各种参数选择3、无需操作Oracle所在服务器缺点:1、Excel文件需要另存为txt或csv格式(似乎没有自动完成的方法)总得来说这种方法是最值得采用的,可以自动建立操作系统的批处理文件执行SQLLDR命令,将数据导入原始接收表,并在数据库中设置触发器进行精细操作。
二、使用外部表直接更新Excel数据Oracle的外部表其实也可以满足将外部数据读入数据库的功能,但是其可操作性相比SQL*Loader 还是要小很多优点:1、无需执行导入操作,更新外部文本文件后可直接查询数据2、仅在查询时操作一次数据,对系统资源占用较小缺点:是要有权限,二是文件必须放到 Oracle 服务器上(似乎不能远 程)2、 需要上传文件,而且无法进行多表导入等复杂的操作3、 同样需要将 Excel 文件存储为txt 或csv 格式这种方法对于权限要求高,操作性弱,仅针对于简单的数据导入时使用三、PL/SQL Developer 粘贴法这种方法就比较简单易用了,每次复制粘贴就行,只限于偶尔的导入使用,累死人了。
优点:1、 操作便捷,简单直接2、 仅需要最简单的 update/i nsert/delete table 权限缺点:1、 只能对一张表进行操作,多表操作会十分复杂2、 需要手动操作的工作量较大3、 所有数据需在 Excel 中处理完毕,导入时无法进行任何简单操作具体操作方法:1、 在PL/SQL Developer 中选择需要操作的表,右键 -Edit Data< 也可以在查询窗口 中输入 select * from table_name for update;开那个锁>2、 可以直接在数据窗口中修改或粘贴新的数据 (注意格式);3、 点击那个钩(Post Change ) ;4、 提交数据;四、使用Access 中转 1、需要建立directory 是每天导入就 然后点击打这种方法只是在网上看到了一下,对于Access没有什么研究,但是觉得应该会有以下缺点1、导入无法自动刷新,甚至连简单的点击刷新也没有2、需要建立ODBC、导入、导出等多步操作,工作量极大3、数据导入到Oracle中时,基本上没有可操作性,只能最简单的操作这种方法唯一的优点大概就是可以直接将Excel的数据导入到Access,但是操作步骤也比较多转一下网上说的方法:1、在本地创建一个Access数据库,将Excel数据先导入到Access。
5种从Excel数据导入Oracle方法最近同事遇到了每天手工导入Excel数据到Oracle的问题,他目前的操作是使用PL/SQL Developer中的复制粘贴方法,这样每天都需要进行手工的操作,很明显长期下来的工作量是比较大的,于是找了几种可供使用的导入方法:一、直接使用SQL*Loader导入SQL*Loader是Oracle自带的数据加载工具,其数据导入比较专业,有各种参数及选项可供选择,经常是作为数据仓库中大型数据的导入方法选择。
优点:1、可将导入命令写入BAT文件直接批量处理2、导入处理比较专业,提供各种参数选择3、无需操作Oracle所在服务器缺点:1、Excel文件需要另存为txt或csv格式(似乎没有自动完成的方法)总得来说这种方法是最值得采用的,可以自动建立操作系统的批处理文件执行SQLLDR命令,将数据导入原始接收表,并在数据库中设置触发器进行精细操作。
二、使用外部表直接更新Excel数据Oracle的外部表其实也可以满足将外部数据读入数据库的功能,但是其可操作性相比SQL*Loader还是要小很多优点:1、无需执行导入操作,更新外部文本文件后可直接查询数据2、仅在查询时操作一次数据,对系统资源占用较小缺点:1、需要建立directory ,一是要有权限,二是文件必须放到Oracle服务器上(似乎不能远程)2、需要上传文件,而且无法进行多表导入等复杂的操作3、同样需要将Excel文件存储为txt或csv格式这种方法对于权限要求高,操作性弱,仅针对于简单的数据导入时使用。
三、PL/SQL Developer粘贴法这种方法就比较简单易用了,每次复制粘贴就行,只限于偶尔的导入使用,要是每天导入就累死人了。
优点:1、操作便捷,简单直接2、仅需要最简单的update/insert/delete table权限缺点:1、只能对一张表进行操作,多表操作会十分复杂2、需要手动操作的工作量较大3、所有数据需在Excel中处理完毕,导入时无法进行任何简单操作具体操作方法:1、在PL/SQL Developer中选择需要操作的表,右键-Edit Data;<也可以在查询窗口中输入select * from table_name for update;然后点击打开那个锁>2、可以直接在数据窗口中修改或粘贴新的数据(注意格式);3、点击那个钩(Post Change);4、提交数据;四、使用Access中转这种方法只是在网上看到了一下,对于Access没有什么研究,但是觉得应该会有以下缺点1、导入无法自动刷新,甚至连简单的点击刷新也没有2、需要建立ODBC、导入、导出等多步操作,工作量极大3、数据导入到Oracle中时,基本上没有可操作性,只能最简单的操作这种方法唯一的优点大概就是可以直接将Excel的数据导入到Access,但是操作步骤也比较多转一下网上说的方法:1、在本地创建一个Access数据库,将Excel数据先导入到Access。
使用PL/SQL将Excel数据向Oracle导入数据时遇见的两个
问题
昨天晚上接到一个工作任务,要求把给定的一个Excel文档数据导入到Oracle数据库中。
今天折腾了好长时间才搞定,期间遇见了两个问题,主要原因是数据不规范,在此记录下。
一空格、Tab符,换行符等特殊符号问题
二导入过程中提示“ORA-01480: STR 绑定值的结尾Null 字符缺失”
经查看数据之后,发现有个字段值里面含有一个双引号,导致出现如上提示。
如果是成对出现的,则没问题。
注:以下是PL/SQL中单引号和双引号的区别
1、单引号是字符串分隔符,用于定义字符串字面值,界定字符串值的开始和结束。
在需要使用单引号的时候,两个单引号代表一个单引号。
2、双引号是引用标识符分隔符,可用它来访问从数据库目录以区分大小写的方式创建的表。
如果创建对象的时候,对象名、字段名加双引号,则表示Oracle将严格区分大小写(否则Oracle默认大写)。
excel导入oracle的几种方法有多种方法可以将Excel数据导入Oracle数据库,以下是其中几种常用的方法:1. 使用Oracle SQL Developer:可以使用Oracle SQL Developer 工具来导入Excel数据。
在SQL Developer中,选择要导入数据的表,然后右键单击并选择“导入数据”。
接下来,选择Excel文件并指定数据导入的规则和映射。
2. 使用Oracle Data Integrator(ODI):ODI是Oracle提供的一种数据集成工具,可以在不同的数据源之间进行数据集成和转换。
可以使用ODI来将Excel数据导入Oracle数据库。
首先,创建一个ODI项目并建立Excel和Oracle数据库的连接。
然后,在ODI中配置数据源和目标,并创建一个数据映射来定义Excel数据到Oracle表的映射。
最后,运行数据映射来将Excel数据导入Oracle。
3. 使用PL/SQL Developer:如果你有PL/SQL Developer工具,可以使用其提供的数据导入功能将Excel数据导入Oracle数据库。
在PL/SQL Developer中,选择要导入数据的表,然后从菜单栏选择“导入数据”。
接下来,选择Excel文件并指定数据导入的规则和映射。
4. 使用Oracle SQL*Loader:SQL*Loader是Oracle提供的一种用于加载数据到数据库的实用工具。
可以使用SQL*Loader来将Excel数据加载到Oracle数据库。
首先,将Excel数据转换为适合SQL*Loader的文本文件格式,例如csv文件。
然后,通过编写一个控制文件来定义数据导入的规则和映射。
最后,运行SQL*Loader来加载数据到Oracle数据库。
以上是几种常用的方法,选择适合你的环境和需求的方法来导入Excel数据到Oracle数据库。
教你怎么样把Excel文件中的数据导入到Oracle数据库中第一种:最简单的方法。
在EXCEL中全选数据,然后COPY。
接着打开PL/SQLDEVELOPER,打开SQL窗口,输入select*frommytableforupdate;然后执行,就可以看到查出目的表mytable数据,如果是空表,当然是没数据了。
然后点击下面列表上方的锁(编辑数据),不管有没有数据,我们选择最后一个空行的行头,让整行变成黑色则表示整行已全选中。
注意该行左边是有个黑色实心三角箭头的。
然后粘贴,再commit就OK咯。
说明:而且这个方法还有个好处就是对EXCEL中的日期型、数值型字段的处理也很正常,数据类型不会丢失。
图:选中了行然后粘贴数据第二种:简单的方法。
先将Excel文件另存为一个.csv文件,然后编写一个insert.ctl文件,ctl文件写法如下:load?data??????????--1、控制文件标识infile?'test.csv'??????????--2、要输入的数据文件名为test.csvappend?into?table?table_name?--3、向表table_name中追加记录fields?terminated?by?','???????????--4、字段终止于',',是一个逗号(field1,?field2,?field3,?...?fieldn)-----定义列对应顺序field(x)要与Oracle表中的字段名保持一致(大写)最后在DOS命令下执行以下命令:sqlldr?user/password?control=insert.ctl图:表示导入了12条记录第三种:比较简单的方法。
如果数据不是很多,可以使用如下方法:假设表名为test_excel,有4列数据,则设置Excel的E1单元格的值为="insertintotest_excelvalues(‘”&A1&“’,‘”&B1&“’,‘”&C1&“’,‘”&D1&“’);”向下拖动该公式,则生成一列sql,把其copy到sql/plus中执行即可(如果数据中有单引号,需要先替换成两个),临时导数据用这种方法还是比较方便的。
PLSQL中将excel表格中的数据导入oracle数据表中第一篇:PLSQL中将excel表格中的数据导入oracle数据表中PL/SQL中将excel表格中的数据导入数据表的方法(1)Excel表中的数据可以不按照数据库中字段的顺序存放,如下图所示:(2)将Excel文件另存为为(文本文件(制表符分隔)(*.txt))注:在另存为之前要选中Excel表中要另存的数据,否则形成的txt文件导入不了PL/SQL中(3)将新生成.txt数据文件导入到Pl/SQL进入Pl/SQL,选择菜单“工具”——“文本导入器”,进入文本导入器的页面后,点击“来自文本文件的数据”选项卡,然后点击打开按钮,选择目标.txt文件(注:在选择之前一定要将Excel文件关闭,否则txt文件无法导入)(4)此时“文件数据”中会显示,查看显示是否有误(5)若有误则要在“配置”中进行相应的设置注:如果不将标题名勾选上,则会导致字段名也当做记录被导入到数据库中,影响正确录入。
说明:由于在Excel中,超过15位的数字后三位会显示为0,需要在输入的数值前输入英文单引号,这样数值就能正常显示了。
如:如果设一个身份证号的字段,而身份证号是18位的数字,在Excel中要这样输——“'***111”才能保证全部显示,所以在导入时字段前面也会多一个单引号,因此,此时该字段的相对位置就要设置为1.(6)“结果预览”中可以看到:(7)点击“到Oracle中的数据”选项卡(8)点击下方“导入”按钮后,可看到数据成功导入数据库直接在PL/SQL里面用SQL向oracle中添加数据1、打开PL/SQL,点击“文件”——“新建”——“SQL窗口”,在窗口中输入“Insert”语句2、点击,执行即可第二篇:Access数据表内容导入Oracle心得Access数据表内容导入Oracle产生该需求原因:在实现中铝网站过程中,客户要求我们把原有数据导入到新搭建的网站系统中,原数据存储在Access数据库中,而新网站的所有数据存储于oracle中。
SQL_loader批量上传数据
1.注释
在工作中,很多时候会遇到如下情况:需要将excel中的数据批量上传到ORACLE 表中。
如果是小数据量,如几十条至几百条,那么用plsql dev工具,在查询命令后加上for update 然后解锁,把数据复制粘贴进去就可以了。
但如果遇到大数据量几万至几十万时,上述方法就不可行了。
如下介绍如何使用oracle自带的sqlloader上传数据。
2.SQL_LOADER上传数据
2.1sql_loader说明
sql*loader是oracle自带程序。
需要上传数据的本机只要安装了oracle数据库或客户端就会自动集成该工具。
但是不同的版本对控制文件的写法要求有所不同。
具体可参见2.3节或者附件控制文件的内容。
2.2编辑数据文件
要使用sql*loader,其数据文件必须是两种,一种是*.txt 的文本文件,另一种是*.csv的文件。
例如,需要上传的数据是使用excel编辑的,那么只需要将excel另存为[制表符分割的txt 文件]或者另存为[逗号分割的csv 文件]即可。
上图是将excel文件另存为“文本文件(制表符分割)(*.txt)”文件格式后的效果要将excel文件转换成csv格式同上面一样,另存为“CSV(逗号分割)(*.csv)”格式即可。
如下图:
注意:CSV格式的文件打开后跟excel的样式差不多,但实际存储方式不一样。
在磁盘上CSV格式的文件中每个格子中的数据使用逗号分割开存储的。
这样的存储方式很有用,方面后面写控制文件。
控制文件在控制读取数据的时候直接以逗号为标记读取数据。
其实,plsql dev在导出文件的时候就可选择存储为csv格式。
按照以上方法,数据文件就准备好了。
2.3编写控制文件
控制文件其实就是SQL_LOADER上传数据时需要运行的脚本,其后缀名为ctl。
控制文件写明了数据文件的位置、加载数据的方式、加载到哪个表、如何读取数据等信息。
下面是一段简单、完整的控制文件的截图及解释:
图注:编写控制文件时用文本文件编写好,修改后缀名为ctl即可。
上面的代码比较简单。
需要复杂的控制,请查阅相关资料。
2.4SQL_LOADER导入数据
制作好了数据文件和控制文件,接下来就是把数据导入oracle表中。
下面还是用test 表来举例。
第一步:进入dos命令环境,检查sql_loader是否装好。
在命令窗口输入sqlldr,回车,如果系统正确装好了sql_loader就会提示如下:
第二步:执行导入命令。
在执行上传命令前先检查表中的数据,如下图
表中只有一条数据。
退出sqlplus,接下来执行导入命令,如果数据库在本机则可执行:
Sqlldr scott/leedb control=c:\controlfile.ctl data=c:\datafile.csv
如果是远程数据库,则可执行:
Sqlldr scott/leedb@xwdb control=c:\controlfile.ctl data=c:\datafile.csv
或
Sqlldr scott/leedb@192.168.0.20:1521/xwdb control=c:\controlfile.ctl data=c:\datafile.csv
(远程地址:端口/实例名称)
第一个命令是针对数据库在本机;第二个数据库在远程但已配置远程监听;第三命令针对数据库在远程但未配置远程监听的情况。
因为我测试,数据库装在本地,所以执行本地导入命令,如下图
命令执行成功后,系统提示是已提交6条记录,准备的数据正好是6条。
说明导入成功了。
连接数据库查询验证一下:
确实导入成功了。
至此,完成数据导入。
应该说这种导入方法是很可行的,尤其是针对大数据,方法相对简单且基本上不用第三方工具(excel/txt不算第三方工具吧)。