Du hast nicht Recht aber dazu lies mal das Zitat unten, ich hatte Joe Users Anweisung kopiert.
Wenn ich mir seine Anforderung betrachte liegt der Client und Server offensichtlich auf der gleichen physischen Maschine.
Von der Berechtigung mal abgesehen wäre als der Weg ob LOCAL oder nicht eigentlich egal.
Ändert aber nichts daran, dass ein "aktueller" mit dem Server kompatibler Client die Daten Laden kann.
PDO_MYSQL Teiber sind hier also nicht zwingend erforderlich.
Zu der notwendigen Berechtigung hier:
http://dev.mysql.com/doc/refman/5.1/de/load-data.html
Ich nutze das nicht wirklich oft, daher nur meine Vermutung, bei der Fehlermeldung scheint mir der Benutzer nicht die nötigen Rechte zu haben.
Ich kann mich wage daran erinnern, dass der Benutzer auch Filesystemberehtigungen auf Datenbanseite benötigt. Eventuell verwechsel ich das auch gerade mit Oracle und dem Data Loader (Import Export Tools zum Dumpen der Datenbank).
Kurz aus der Doku zum Punkt LOCAL zitiert:
Das Schlüsselwort LOCAL wird, sofern angegeben, in Bezug auf die Clientseite der Verbindung interpretiert:
Wenn LOCAL angegeben ist, wird die Datei vom Clientprogramm auf dem Clienthost gelesen und an den Server geschickt. Die Datei kann als vollständiger Pfadname angegeben werden, um die exakte Position zu beschreiben. Erfolgt die Angabe als relativer Pfadname, dann wird der Name relativ zum Verzeichnis interpretiert, in dem das Clientprogramm gestartet wurde.
Wird LOCAL nicht angegeben, dann muss die Datei sich auf dem Serverhost befinden und wird direkt vom Server gelesen. Der Server wendet zur Bestimmung der Dateiposition die folgenden Regeln an:
Wenn der Dateiname absolut angegeben wurde, verwendet ihn der Server wie angegeben.
Ist der Dateiname ein relativer Pfadname mit einer oder mehreren am Anfang stehenden Komponenten, dann sucht der Server nach der Datei relativ zum eigenen Datenverzeichnis.
Wird ein Dateiname ohne Komponenten am Anfang übergeben, dann sucht der Server im Datenbankverzeichnis der Standarddatenbank nach der Datei.
Beachten Sie, dass, sofern keine LOCAL-Option angegeben wurde, die Regeln zur Folge haben, dass eine Datei namens ./myfile.txt im Datenverzeichnis des Servers gesucht wird, während die Datei myfile.txt aus dem Datenbankverzeichnis der Standarddatenbank gelesen wird. Ist also beispielsweise db1 die Standarddatenbank, dann liest die folgende LOAD DATA-Anweisung die Datei data.txt aus dem Datenbankverzeichnis für db1 aus, obwohl die Anweisung die Datei explizit in die Datenbank db2 lädt:
Meine Tipp wäre:
Bereite die Daten so vor, dass ein Bulk import möglich ist.
Also ggf. eine insert into .... values (<DATENSAT 1>),(<DATENSAT 2>),(<DATENSAT 3>) usw.
Das ist min. genau so schnell, sofern man wirklich transaktional (InnoDB) arbeitet und hat längst nicht den Sicherheitsnachteil wie LOAD DATA INFILE, wie Joe User anführt.
02:32:12 21.12.2012 und dann sind Deine Probleme alle unwichtig.