手工导入EXCEL文件到ORACLE数据库

1. 数据源city.xlsx

2. 另存为city.csv

3. 创建表结构

  CREATE TABLE ODS.ODS_DIM_CITY 
   (	CITY_CODE VARCHAR2(200 BYTE) NOT NULL ENABLE, 
	CITY_NAME VARCHAR2(200 BYTE), 
	CITY_LEVEL_CODE VARCHAR2(200 BYTE), 
	CITY_LEVEL VARCHAR2(100 BYTE), 
	CITY_CLASSIFY_CODE VARCHAR2(20 BYTE), 
	CITY_CLASSIFY VARCHAR2(100 BYTE), 
	PROVINCE_NAME VARCHAR2(200 BYTE)
   ) tablespace ods_data

4. 上传city.csv

5. 编辑导入脚本

# vim input_city.ctl

load data infile '/home/oracle/city.csv' 
append into table ods.ods_dim_city fields terminated by ','
trailing nullcols
(city_code,city_name,city_level_code,city_level,city_classify_code,city_classify,province_name)

 6. 执行导入命令

sqlldr userid=kobe/xxxxxx@jhwarehouse control=/home/oracle/input_city.ctl
SQL*Loader: Release 12.2.0.1.0 - Production on 星期四 8月 13 17:48:57 2020

Copyright (c) 1982, 2017, Oracle and/or its affiliates.  All rights reserved.

所用路径:       常规
达到提交点 - 逻辑记录计数 64
达到提交点 - 逻辑记录计数 128
达到提交点 - 逻辑记录计数 192
达到提交点 - 逻辑记录计数 256
达到提交点 - 逻辑记录计数 320
达到提交点 - 逻辑记录计数 351

表 ODS.ODS_DIM_CITY:
  已成功载入 351 行。

查看日志文件:
  input_city.log
了解有关加载的详细信息。

这个有个地方需要主意的,如果导入数据是含中文字符的,这里需要设置下NLS_LANG的环境变量,防止导入中文变成乱码。

 

export NLS_LANG='SIMPLIFIED CHINESE_CHINA.AL32UTF8'

7. 检查数据库表数据

完。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Excel文件中的数据导入Oracle数据库可以使用以下步骤: 1. 首先,需要将Excel文件读取到C#中,可以使用NPOI库来读取Excel文件中的数据。 2. 连接Oracle数据库,并打开连接。 3. 创建一个OracleCommand对象,该对象用于执行SQL命令。 4. 遍历Excel文件中的每一行数据,并将数据插入到Oracle数据库中,可以使用OracleCommand对象的ExecuteNonQuery方法来执行SQL语句。 以下是一个示例代码: ```csharp using System; using System.Data; using System.Data.OracleClient; using NPOI.HSSF.UserModel; using NPOI.SS.UserModel; using NPOI.SS.Util; // 读取Excel文件 HSSFWorkbook workbook = new HSSFWorkbook(new FileStream("Excel文件路径", FileMode.Open)); ISheet sheet = workbook.GetSheetAt(0); // 连接Oracle数据库 string connectionString = "Data Source=数据库地址;User ID=用户名;Password=密码;"; OracleConnection connection = new OracleConnection(connectionString); connection.Open(); // 创建OracleCommand对象 OracleCommand command = new OracleCommand(); command.Connection = connection; // 遍历Excel文件中的每一行数据,将数据插入到Oracle数据库中 for (int i = sheet.FirstRowNum + 1; i <= sheet.LastRowNum; i++) { IRow row = sheet.GetRow(i); if (row == null) continue; string col1 = row.GetCell(0).ToString().Trim(); string col2 = row.GetCell(1).ToString().Trim(); string col3 = row.GetCell(2).ToString().Trim(); string sql = "insert into table_name(col1, col2, col3) values(:col1, :col2, :col3)"; command.CommandText = sql; command.Parameters.Clear(); command.Parameters.Add(new OracleParameter(":col1", col1)); command.Parameters.Add(new OracleParameter(":col2", col2)); command.Parameters.Add(new OracleParameter(":col3", col3)); command.ExecuteNonQuery(); } // 关闭连接 connection.Close(); ``` 需要注意的是,在执行SQL语句时,使用了参数化查询,可以防止SQL注入攻击。另外,需要根据Excel文件Oracle数据库的实际情况,修改代码中的表名、列名和连接字符串等信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值