Laravel Excell:将 XLS 导入 SQL 服务器数据库时 SQLSTATE[25000]

Laravel Excell: SQLSTATE[25000] while importing XLS to SQL Server DB

我正在尝试使用 SQL 服务器数据库在我的 Laravel 项目中实现从 XLS 文件到订单 table 的导入。为此,我使用 Laravel Excell 包:https://laravel-excel.maatwebsite.nl/ .

我在尝试测试上传时遇到以下错误:

PDOException (25000)

SQLSTATE[25000]: [Microsoft][ODBC Driver 13 for SQL Server][SQL Server]Cannot >>roll back trans2. No transaction or savepoint of that name was found.

导入的代码行是这样的:

    Excel::import(new OrdersImport, $request->file('file'));

OrdersImport 的代码是这样的:

    class OrdersImport implements ToModel, WithHeadingRow
    {
        /**
        * @param array $row
        *
        * @return \Illuminate\Database\Eloquent\Model|null
        */
        public function model(array $row)
        {
            return new Order([
                'name'     => $row['name'],
                'due_date'    => $row['due_date'],
                'quantity'    => $row['quantity'],
                'id_item'    => $row['id_item'],
                'id_client'    => $row['id_client'],
            ]);
        }
    }

有什么想法吗?

我解决了这个问题。刚刚将我的项目切换到 MySQL,然后出现其他验证错误(日期格式不正确)。在我让它在 MySQL 上运行后,我切换回 SQL 服务器并且没有再出现错误。

检查您的列数据类型并确保删除 excel header(或从 Laravel Excell 包中启用它)