一、SQL Server导入Excel数据
接下来就一直点击NEXT,直到完成
此时EXCEL的数据就被导入进SQL Server了:
二、小技巧导入Excel数据
这个技巧就是直接使用复制粘贴的方式:
注意:这种方法只适用于添加少量数据,如果是几十万行的数据,是无法这样导入的。
如图,我们在Excel当中直接复制数据:
右键PTYPES表,选择编辑前2002行:
直接右键粘贴:
此时就直接可以导入数据了:
三、使用Microsoft.ACE.OLEDB导入Excel数据
首先安装包:
执行如下代码导入Excel表格中的数据:
SELECT * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0','Excel 12.0;Database=D:\S072003DBS\食品销售数据\类别.XLSX',[类别$]);
如果发生报错,则参考如下代码:
-- 报错一:SQLServer阻止了对组件'AdHocDistributedQueries'的STATEMENT'OpenRowset/OpenDatasource'的访问, -- 因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用。 -- sp_configure启用'AdHocDistributedQueries'。 -- 解决方法: -- 启用Ad Hoc Distributed Queries: exec sp_configure 'show advanced options',1 reconfigure exec sp_configure 'Ad Hoc Distributed Queries',1 reconfigure -- 为了安全,使用完成后,关闭Ad Hoc Distributed Queries exec sp_configure 'Ad Hoc Distributed Queries',0 reconfigure exec sp_configure 'show advanced options',0 reconfigure -- 报错二:无法创建链接服务器“(null)”的 OLE DB 访问接口“Microsoft.ACE.OLEDB.12.0”的实例。 -- 解决方法: --允许在进程中使用ACE.OLEDB.12 EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'AllowInProcess', 1 --允许动态参数 EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'DynamicParameters', 1
四、手动添加一行数据
INSERT INTO PTYPES (PTID,PTNAME) VALUES(101,'细粮')
五、手动添加多行数据
INSERT INTO PTYPES (PTID,PTNAME) VALUES (102,'有机蔬菜'),(103,'有机粮食'),(104,'有机水果')
五、解决类型不匹配致导入失败
发现下面导入失败:
此时就导入成功了: