首页 > 解决方案 > 使用 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 列是主键。

任何帮助或指导表示赞赏。谢谢!

编辑:看起来我可能会达到表的某种数据限制。我将研究扩展表的分配大小。

标签: sqlsql-serverperl

解决方案


推荐阅读