Excel插入、更新Orcale
2011-07-12 11:00 Bingo Lee 阅读(1742) 评论(11) 编辑 收藏 举报如何才能把Excel中的数据导入Orcale中呢?
本文提供一种间接的思路:
利用Sql Server和Excel的近亲关系,在Sql Server中利用OpenDataSource方法读取Excel,并把数据拼写成符合oracle的sql语句。
(sql server2005需要手工开启OpenDataSource功能,
sql server2005 -> 配置工具 -> 外围应用配置器 -> 功能的外围应用配置器 -> Database Engine -> 即席远程查询,
如下图所示)
在sql server中执行如下代码:
需要注意:
1)请提供正确的文件路径和Sheet名称;
2)关闭要读取的Excel文件,否则会报错;
3)确保to_date函数对应的字段在Excel中为日期类型;
SELECT 'update userinfo set Useducation = ' '' + CASE WHEN [现文化程度] IS NULL THEN '' ELSE [现文化程度] END + CASE WHEN [技术等级] IS NULL THEN '' ELSE '' ', Usskilllevel = ' '' + [技术等级] END + '' '' + CASE WHEN [加入党派日期] IS NULL THEN '' ELSE ', Usdangtuantime = to_date(' '' + CONVERT ( VARCHAR (12), [加入党派日期], 110)+ '' ',' 'mm-dd-yyyy' ')' END + CASE WHEN [入路工作日期] IS NULL THEN '' ELSE ', Usinputtime = to_date(' '' + CONVERT ( VARCHAR (12), [入路工作日期], 110)+ '' ',' 'mm-dd-yyyy' ')' END + CASE WHEN [出生日期] IS NULL THEN '' ELSE ', Usbirthdate = to_date(' '' + CONVERT ( VARCHAR (12), [出生日期], 110)+ '' ',' 'mm-dd-yyyy' ')' END + ' where Uscardid =' '' + [身份证号] + '' ';' FROM OPENDATASOURCE( 'Microsoft.Jet.OLEDB.4.0' , 'Data Source=D:\gongren.xls;Extended Properties=Excel 8.0' )...[Sheet1$] |
执行结果如下:
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' ; 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' ; 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中执行上述代码就行了。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构