csv — PHP ODBC выполняет пытается открыть файл

По какой-то причине этот код вызывает odbc_execute(); попытаться открыть файл …

$file = fopen('somefile.csv', 'r');
fgetcsv($file); // Skip the first line
$data = [];
while (($line = fgetcsv($file)) != false) {
$data[] = $line;
}
fclose($file);

try {
$conn = odbc_connect("Teradata", "User", "Pass");
odbc_autocommit($conn, false);

odbc_exec($conn, 'DELETE FROM table');

foreach ($data as &$test) {
$stmt = odbc_prepare($conn, 'INSERT INTO table (experiment_code, experiment_name, variant_code, variant_name, version_number, report_start_date, report_end_date, status, transaction_date, experiment_test_id, test_manager, product_manager, pod, created_date, last_updated_date) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)');
odbc_execute($stmt, $test);
}

odbc_commit($conn);

$result = odbc_exec($conn, 'SELECT * FROM table');
odbc_result_all($result);
} catch (Exception $e) {
odbc_rollback($conn);
echo $e->getMessage();
}

Вот фрагмент файла CSV …

H1225,Some random text,H1225:001.000,Control,3,02/06/2014,03/31/2014,Completed,,HMVT-1225,Some random name,Some random name,Checkout,03/31/2014 16:54,02/06/2014 16:38
H1225,Some random text,H1225:001.000,Control,3,02/06/2014,03/31/2014,Completed,,HMVT-1225,Some random name,Some random name,Checkout,03/31/2014 16:54,02/06/2014 16:38

И вот тип ошибки, которую я получаю …

Warning: odbc_execute(): Can't open file Control in C:\wamp\www\HEXinput\assets\php\dumpCSV.php on line 19

Я получаю несколько версий одной и той же ошибки только с другим именем файла. Кажется, имя файла происходит из столбца 3 (на основе 0). Еще одна странная вещь заключается в том, что он действительно вставляет некоторые строки правильно.

Последняя ошибка, которую я получаю …

Fatal error: Maximum execution time of 120 seconds exceeded in C:\wamp\www\HEXinput\assets\php\dumpCSV.php on line 27

Я использую драйверы ODBC Teradatas для версии 15 на Windows 7 64bit.

Что может быть причиной этого?

1

Решение

Оказывается, что некоторые поля в CSV-файле содержали одинарные кавычки, которые нарушали запрос.

Простой, но раздражающий недосмотр.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]