sql - 使用 perl 脚本将不完整的数据上传到 SQL Server
问题描述
我有一个脚本,它读取我根据我正在访问的当前文件库生成的两列 CSV。我将文件压缩成一个数组,然后使用以下代码将 CSV 逐个元素上传到 SQL 表:
my $e_sth = $trans->prepare("delete from $table where 1 = 1");
$e_sth->execute();
my $u_sql = qq{
insert into $table (KTM, SUBSITE) values
(?, ?)
};
my $u_sth = $trans->prepare($u_sql);
foreach my $rec (@list) {
my ($klf, $subsite) = split(",", $rec);
# Upload
$u_sth->execute($klf, $subsite)
}
$trans->commit();
它始终是文件的最后一行,所以我相信这会让你们中的一些人立即解决这个问题。我迷路了。我认为foreach
循环会阻止这样的事情发生。被截断的最后一行的字符数量也各不相同。两列都设置为 CHAR(100),其中 KTM 列是主键。
任何帮助或指导表示赞赏。谢谢!
编辑:看起来我可能会达到表的某种数据限制。我将研究扩展表的分配大小。
解决方案
推荐阅读
- mongodb - 聚合和$锁定
- spring-boot - 如何在不对应用程序进行任何更改的情况下使用 HTTPs 部署 Spring Boot 应用程序?
- jquery - 如何在尚未调用其内容的情况下获取 div 的宽度 - 使用 .html()
- javascript - 在 img html 标签中限制文件大小
- jenkins - 如何在詹金斯中运行带有参数和凭据的shell命令?
- python - 'NAType' 对象没有属性 'split'
- buildship - Buildship in Eclipse - 可以以编程方式运行项目导入向导吗?
- sql - SQL基于两列消除重复行
- javascript - p5.js 3D 草图中的背景图像
- pandas - 如何创建要操作的数据框“窗口”或切片?