首页 > 数据库技术 > 详细

sql server游标读取excel文件数据,更新到指定表中

时间:2019-12-17 16:37:23      阅读:89      评论:0      收藏:0      [点我收藏+]
begin
declare @a int,@error int   
DECLARE @EBSCode nvarchar(50)
DECLARE @EBSName nvarchar(50)
DECLARE @FilePath nvarchar(200)
  set @a=1
    set @error=0

DECLARE table_cursor CURSOR FOR
     (select * from OpenDataSource (Microsoft.Ace.OLEDB.12.0,Data Source="D:\20191217\123.xlsx";Extended properties="Excel 12.0;HDR=Yes")...[sheet1$])
         
OPEN table_cursor
 
FETCH NEXT FROM table_cursor into @EBSCode,@EBSName,@FilePath
 
WHILE @@FETCH_STATUS=0
BEGIN
    update Basic_ModelImport set FilePath=/jfiles/upload/20191217/+@FilePath where IsDeleted=0 and [Type]=0 and TenantId=1 and EBSCode=@EBSCode
     set @a=@a+1
            set @error= @error + @@ERROR   --记录每次运行sql后是否正确,0正确
FETCH NEXT FROM table_cursor into @EBSCode,@EBSName,@FilePath
END
 
CLOSE table_cursor
DEALLOCATE table_cursor
end
go

select * from OpenDataSource (Microsoft.Ace.OLEDB.12.0,Data Source="D:\20191217\123.xlsx";Extended properties="Excel 12.0;HDR=Yes")...[sheet1$]




--开启
exec sp_configure show advanced options,1
reconfigure
exec sp_configure Ad Hoc Distributed Queries,1
reconfigure

--关闭
exec sp_configure Ad Hoc Distributed Queries,0
reconfigure
exec sp_configure show advanced options,0
reconfigure

 --允许在进程中使用ACE.OLEDB.12
    EXEC master.dbo.sp_MSset_oledb_prop NMicrosoft.ACE.OLEDB.12.0, NAllowInProcess, 1
    --允许动态参数
    EXEC master.dbo.sp_MSset_oledb_prop NMicrosoft.ACE.OLEDB.12.0, NDynamicParameters, 1

       --不允许在进程中使用ACE.OLEDB.12
    EXEC master.dbo.sp_MSset_oledb_prop NMicrosoft.ACE.OLEDB.12.0, NAllowInProcess, 0
    --不允许动态参数
    EXEC master.dbo.sp_MSset_oledb_prop NMicrosoft.ACE.OLEDB.12.0, NDynamicParameters, 0

 

sql server游标读取excel文件数据,更新到指定表中

原文:https://www.cnblogs.com/ljy0905/p/12055258.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!