刚刚在用excel导入sqlserver的时候居然发现没有触发对应的数据表中的触发器,本来想想应该是可以触发的,但是实际上直接导数据进去是不行的,最后找到了个方法可以到入数据,同时触发目标表的触发器.操作步骤如下:
--开启高级设置
exec sp_configure'show advanced options',1 reconfigure
--开启外围设置
exec sp_configure'Ad Hoc Distributed Queries',1 reconfigure
--再执行以下语句
EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'AllowInProcess', 1
GO
EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'DynamicParameters', 1
GO
--最后执行如下语句
insert 表名
select * from
OPENROWSET( 'MICROSOFT.JET.OLEDB.4.0','Excel 8.0;IMEX=1;HDR=YES;DATABASE=F:\aa.xls',sheet1$)
--F:\aa.xls是excel文件名
--sheet1$是工作表名+$
其中要注意的是 "MICROSOFT.JET.OLEDB.4.0 "必须写正确且之间不能有空格(如 "MICROSOFT.JET.OLEDB.4.0 "),否则容易报如下错误:
尚未注册 OLE DB 访问接口 "MICROSOFT.JET.OLEDB.4.0 "
excel导入sqlserver触发触发器的问题
最新推荐文章于 2020-09-27 22:15:50 发布