You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用cqlsh无法将CSV导入Cassandra数据库及跨Windows服务器数据迁移咨询

问题解决:COPY命令导入日期格式错误与跨Windows服务器数据复制方法

一、COPY导入日期错误的解决方法

报错核心原因是CSV中的日期字符串2019-10-14 03:38:30AUS Eastern Daylight Time包含时区名称,而目标字段是long类型的日期(通常对应时间戳),COPY命令默认无法解析这种格式。可以通过以下几种方式解决:

1. 修改COPY命令指定日期格式

如果使用的数据库支持自定义日期格式参数,可在COPY命令中添加DATEFORMAT参数匹配CSV中的日期格式:

COPY loggtest.testdclog from 'G:\logtest\diagnosticlog_table.csv' 
with header=true 
DATEFORMAT 'yyyy-MM-dd HH:mm:ss"Eastern Daylight Time"';

注意:不同数据库的日期格式语法存在差异,需根据实际使用的数据库调整格式字符串。

2. 预处理CSV文件

直接修改CSV中的日期内容:

  • 去掉时区字符串:将2019-10-14 03:38:30AUS Eastern Daylight Time改为2019-10-14 03:38:30(无需时区信息时使用)
  • 转换为偏移量格式:改为2019-10-14 03:38:30+10:00(AUS Eastern Daylight Time对应UTC+10)

3. 调整目标字段类型

若业务允许,可将目标表的日期字段类型改为带时区的时间戳类型(如TIMESTAMPTZ),这样COPY命令就能直接解析带时区名称的日期字符串。

二、两台Windows服务器之间复制数据的其他方法

除了导出CSV再导入的方式,还可以用以下几种高效方法:

1. 使用Robocopy命令

Windows自带的Robocopy是专业文件复制工具,支持批量复制、断点续传、权限保留等功能,适合大文件或大量文件复制:

robocopy \\源服务器IP\共享文件夹路径 \\目标服务器IP\共享文件夹路径 *.csv /E /Z /COPYALL

参数说明:

  • /E:复制所有子目录(包括空目录)
  • /Z:支持断点续传
  • /COPYALL:复制所有文件属性(权限、时间戳等)

2. PowerShell文件复制

用PowerShell的Copy-Item命令实现简单文件复制,适合小文件或脚本化操作:

Copy-Item -Path "\\源服务器\共享目录\diagnosticlog_table.csv" -Destination "\\目标服务器\共享目录\" -Force

3. 数据库级同步

如果两台服务器是同类型数据库,可直接用数据库自带同步功能:

  • SQL Server:使用复制(Replication)或备份还原直接同步表数据
  • PostgreSQL:用pg_dump备份后在目标服务器执行pg_restore,或使用逻辑复制

4. 共享文件夹映射

在目标服务器上将源服务器的文件夹映射为本地驱动器,通过文件管理器直接复制:

  1. 右键“此电脑”→“映射网络驱动器”
  2. 输入源服务器共享路径(如\\源服务器IP\logtest),完成映射后即可像操作本地文件一样复制数据

内容的提问来源于stack exchange,提问作者sandeep Kumar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 00:26:04