尝试将数据从 Excel 导入 SQL 表时出错

Posted

技术标签:

【中文标题】尝试将数据从 Excel 导入 SQL 表时出错【英文标题】:Errors while trying to import data from Excel to SQL tables 【发布时间】:2016-08-08 19:09:01 【问题描述】:

我正在尝试将数据从 Excel 导入 SQL Server 表,但出现此错误。你能建议如何避免这些吗?

【问题讨论】:

【参考方案1】:

这可能是由 ACYR_ISN 列被设置为身份引起的。

请参阅此帖子了解如何解决此问题: https://***.com/a/20953512/2280148

【讨论】:

此处的帖子中不允许使用标语,尤其是那些宣传产品的帖子,因此我已删除了您答案的那部分。如果您愿意,欢迎您将此信息放在您的个人资料中。【参考方案2】:

您可以使用 T-SQL 将 excel 文件导入 MSSQL 数据库。

DECLARE @strQuery AS VARCHAR(600),
        @strFilePath as VARCHAR(200),
        @TableName AS VARCHAR(50),
        @EmpCode varchar(8), 
        @Name varchar(50)

Declare @DataTable as table
    (
       EmpCode varchar(8), 
       Name varchar(50)
     )


SET @strFilePath='\\Path\Excel.xlsx'
SET @TableName='Sheet1'

SET @strQuery='select * from openrowset('
    SET @strQuery=@strQuery+'''Microsoft.ACE.OLEDB.12.0'''+','
    set @strQuery=@strQuery+ '''Excel 12.0;Database='+@strFilePath+''''+','
    SET @strQuery=@strQuery+'''select * from ['+@TableName+'$]'''+')'

insert into @DataTable 
EXECUTE(@strQuery)


declare curStaff cursor for
select * from @DataTable
open curStaff
fetch from curStaff into @EmpCode, @Name
while @@FETCH_STATUS =0
    begin
      //Do your work here by using data
    fetch from curStaff into  @EmpCode, @Name 
end
close curStaff
deallocate curStaff

【讨论】:

以上是关于尝试将数据从 Excel 导入 SQL 表时出错的主要内容,如果未能解决你的问题,请参考以下文章

通过 excel VBA 加入 SQL 表时出错

尝试将数据插入多个表时出错 [C# Winform SQL Server] [关闭]

金蝶K3旗舰版引入BOM表时文件预览页到下一步自定义对应字段页面出错,总是显示文件内容不能为空的BUG?

使用kettle工具时,将excel表格中的数据导入到oracle数据库时,输出项出错。

数据库导入出错

尝试使用 Python 连接 DB2 上的表时出错 (SQL0332N)