利用Sql Server将Excel中的数据导入Oracle

数据库 Oracle
如果我们想将Excel的数据导入到Oracle中,我们可以采用一种间接的方式:利用Sql Server和Excel的近亲关系,在Sql Server中利用OpenDataSource方法读取Excel,并把数据拼写成符合oracle的sql语句。

本文提供一种间接把Excel中的数据导入Oracle中的方法:利用Sql Server和Excel的近亲关系,在Sql Server中利用OpenDataSource方法读取Excel,并把数据拼写成符合oracle的sql语句。

在sql server中执行如下代码:

  1. SELECT 'update userinfo set Useducation = '''  
  2.  
  3. + CASE WHEN [现文化程度] IS NULLTHEN ''  
  4.  
  5. ELSE [现文化程度] END    
  6.  
  7. + CASEWHEN [技术等级] IS NULLTHEN ''  
  8.  
  9. ELSE ''', Usskilllevel = '''+ [技术等级] END +  ''''  
  10.  
  11. + CASEWHEN [加入党派日期] IS NULLTHEN ''  
  12.  
  13. ELSE ', Usdangtuantime = to_date('''+ CONVERT(VARCHAR(12), [加入党派日期], 110)+ ''',''mm-dd-yyyy'')' END  
  14.  
  15. + CASEWHEN [入路工作日期] IS NULLTHEN ''  
  16.  
  17. ELSE ', Usinputtime = to_date('''+ CONVERT(VARCHAR(12), [入路工作日期], 110)+ ''',''mm-dd-yyyy'')' END  
  18.  
  19. + CASEWHEN [出生日期] IS NULLTHEN ''  
  20.  
  21. ELSE ', Usbirthdate = to_date('''+ CONVERT(VARCHAR(12), [出生日期], 110)+''',''mm-dd-yyyy'')' END  
  22.  
  23. + ' where Uscardid ='''+ [身份证号] + ''';'  
  24.  
  25. FROM OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0',   
  26.  
  27. 'Data Source=D:\gongren.xls;Extended Properties=Excel 8.0')...[Sheet1$] 

需要注意:

1)请提供正确的文件路径和Sheet名称;

2)关闭要读取的Excel文件,否则会报错;

3)确保to_date函数对应的字段在Excel中为日期类型;

执行结果如下:

  1. update userinfo set Useducation = '中等专科'Usinputtime = to_date('12-25-2000','mm-dd-yyyy'), Usbirthdate = to_date('09-06-1976','mm-dd-yyyy') where Uscardid ='132430197609061413';   
  2.  
  3. update userinfo set Useducation = '大学'Usskilllevel = '中级工'Usdangtuantime = to_date('07-11-2000','mm-dd-yyyy'), Usinputtime = to_date('07-01-2003','mm-dd-yyyy'), Usbirthdate = to_date('08-21-1979','mm-dd-yyyy') where Uscardid ='132826197908210332';   
  4.  
  5. update userinfo set Useducation = '大专'Usskilllevel = '高级工'Usdangtuantime = to_date('07-03-2001','mm-dd-yyyy'), Usinputtime = to_date('01-01-2005','mm-dd-yyyy'), Usbirthdate = to_date('10-26-1980','mm-dd-yyyy') where Uscardid ='132421198006260032'

在pl/sql中执行上述代码就行了。

本文就介绍到这里,更多关于Oracle的内容请到这里:http://database.51cto.com/oracle/,谢谢大家的支持!

【编辑推荐】

  1. 嵌入式数据库Sqlce读取数据过程简介
  2. 微软WP7本地数据库之SQLite编程技巧
  3. 数据库开发工具DreamCoder宣布全面免费
  4. 一步一步设计你的数据库之如何提取业务规则
  5. 一步一步设计你的数据库之不可轻视的需求分析
责任编辑:赵鹏 来源: 博客园
相关推荐

2010-04-14 09:24:29

在Oracle数据库

2010-10-20 14:56:18

2011-07-18 17:16:14

CSVPLSQLDevelope

2010-07-21 14:17:36

SQL Server数

2011-05-06 14:19:29

ExcelSQL Server

2009-07-28 11:00:24

Excel导入SQL

2010-06-24 09:47:47

SQL Server

2009-07-28 11:23:04

Excel导入SQL

2010-07-15 14:40:05

SQL Server数

2011-03-10 10:50:01

excelsql数据库

2010-10-26 11:04:48

oracle数据导入

2010-10-21 14:12:07

SQL Server游

2011-03-11 13:26:23

SQL Server数导入数据

2011-08-11 10:16:15

2009-03-30 15:52:24

数据导入导出SQL Server

2011-07-25 12:56:44

SSMAOracle数据库SQL Server

2011-04-06 17:30:41

SQL ServerSQL

2010-04-22 11:58:00

Oracle数据库

2010-06-17 17:11:03

SQL Server

2011-04-06 16:05:29

SQL Server数据导入
点赞
收藏

51CTO技术栈公众号