Laravel Framework에서 사용되는 컨트롤러에 함수를 작성했습니다. 이 함수는 * .csv 파일의 파일 경로를 가져온 다음 원시 대량 삽입 문과 함께이 * .csv 파일의 모든 요소를 데이터베이스에 삽입합니다. 문제는 함수가 실행될 때 요소가 데이터베이스 테이블에 저장되지 않는다는 것입니다. 나는 어떤 오류도 내지 않는다. SQL Server 관리자에서 쿼리를 실행하면 문제없이 요소가 삽입됩니다. 내가 뭘 잘못하고 데이터베이스에 CSV 파일의 요소를 일괄 적으로 삽입하는 더 좋은 방법이 있습니까? 여기 Laravel Raw Bulk 삽입
함수에 대한 코드입니다 : public static function bulkInsertCSV($filePath){
$sql = "use [testDatabase] BULK INSERT [dbo].[testTable]
FROM '" . $filePath . "' WITH (FIELDTERMINATOR = ';',"
. "ROWTERMINATOR = '\\n');";
//DB::statement($sql);
DB::statement(DB::raw($sql));
}
안부, 얄친
이것은 좋은 해결책이 될 것입니다.하지만 csv에는 많은 열이있는 1.000.000 행까지 포함될 수 있습니다. PHPExcel을 사용하여 이미 시도했지만 실제로는 느리다 (삽입 작업에 약 10 분). 당신의 솔루션은 약 7 분이 필요했습니다. 아직도 너무 많이. SQL에 BULK INSERT를 사용하면 약 1 분이 소요됩니다. 그래서 당신의 해결책은 제가 찾고있는 것이 아니라 어쨌든 고맙습니다. :) – Yasemin