【发布时间】:2018-11-27 18:01:21
【问题描述】:
我正在尝试将 excel 导入我的 SQL 数据库,但出现此错误:
消息 错误 0xc0202009:数据流任务 1:SSIS 错误代码 DTS_E_OLEDBERROR。发生 OLE DB 错误。错误代码:0x80004005。 OLE DB 记录可用。来源:“Microsoft OLE DB Provider for SQL Server”Hresult:0x80004005 描述:“从字符串转换日期和/或时间时转换失败。”。 (SQL Server 导入导出向导)
数据库需要这些数据:
[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)]
public DateTime hechosf_periodo { get; set; }
如何存储此数据的示例:
这就是将数据输入 Excel 的方式:
SQL 将 excel 列标识为 datetime,并将尝试将其转换为 datetime2。
我该怎么做才能传递这个错误?
更新:
查看执行后报告后
我看到它正在尝试读取更多空的行。我正在尝试删除工作表中每个单元格的内容,但这仍然存在。
【问题讨论】:
-
使用“YYYY-MM-DD HH:MM:SS.sss”或“YYYMMDD”格式。
-
@JasonA.Long 你好。这是为什么?为什么我们应该使用带有年份的格式?我可以看到数据库中已经有数据,它使用 dd/mm/yyyy 格式。使用其他格式不会搞砸吗?
-
这是两种通用的、ansi 标准、日期/时间标准格式。第一个是日期时间,第二个是不带时间的日期。无论您使用什么默认排序规则,这两种格式都可以使用。
-
我已按照建议进行了更改。 (将用图片更新问题)但仍然收到错误消息“从字符串转换日期和/或时间时转换失败。”
标签: sql-server excel import