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 包中启用它)
我正在尝试使用 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 包中启用它)