<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>ChenTaoqian&#039;s Blog &#187; excel</title>
	<atom:link href="http://www.chentaoqian.com/archives/tag/excel/feed" rel="self" type="application/rss+xml" />
	<link>http://www.chentaoqian.com</link>
	<description>主机,企业邮箱,域名,空间,服务器,Java,Oracle,PHP,Linux,JS,MySQL,Apache</description>
	<lastBuildDate>Wed, 30 Nov 2011 14:35:01 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>3种常用的Oracle导入Excel数据方法</title>
		<link>http://www.chentaoqian.com/archives/513</link>
		<comments>http://www.chentaoqian.com/archives/513#comments</comments>
		<pubDate>Wed, 02 Dec 2009 15:53:13 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Oracle]]></category>
		<category><![CDATA[excel]]></category>
		<category><![CDATA[oracle]]></category>
		<category><![CDATA[数据库]]></category>

		<guid isPermaLink="false">http://www.chentaoqian.com/?p=513</guid>
		<description><![CDATA[因业务需要，我们项目要与银行进行数据交换，其中之一就是通过Excel文件交换数据，即将Excel文件中的数据导入到数据库中。因为数据库用的是Oracle，所以搜索了一下，汇总了以下3种好用也较常用Oracle导入Excel数据的方法。
假设存在“e:\test.xls”文件，该文件中存在三列数据分别代表客户编号，客户名称和联系电话。内容如下：
10001,  zjaxi01  ,13562485246
10002  ,zjaxi02  ,13562485247
10003  ,zjaxi03  ,13562485248
10004  ,zjaxi04  ,13562485249
10005  ,zjaxi05  ,13562485250
10006  ,zjaxi06  ,13562485251
方法一、使用sql *loader
SQL*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 data
Infile ‘e:\test.csv’ &#8211;数据源文件名称
Append&#124;insert&#124;replace &#8211;append在表后追加，insert插入空表，replace替代原有内容
Into table test &#8211;要导入的数据库表名称
[when id = id_memo] &#8211;过滤条件
Fields terminated by X’09’ &#8211;字段分隔符
(id,name,telphone) &#8211;字段名称列表
最后在命令窗口输入sqlldr命令行执行导入操作Sqlldr userid = system/manager control=’e:\test.ctl’

Sqlldr的函数关键字说明：


Userid &#8211;oracle用户名 userid = username/password
Control &#8211;控制文件名称 control = ‘e:\insert.ctl’
Log –-日志文件名称 log = ‘e:\insert.log’
Bad &#8211;损坏文件名称
Data [...]]]></description>
		<wfw:commentRss>http://www.chentaoqian.com/archives/513/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

