2010-11-12 19 views
0

LOAD DATA INFILE Lorsque je tente d'utiliser cette instruction sql:Comment résoudre le problème

LOAD DATA INFILE 'url/file.txt' 
IGNORE 
INTO TABLE myTbl 
FIELDS TERMINATED BY '|' 
LINES TERMINATED BY '\n' 
(SPEC, PERSON, BLAH, BLUH) 

Je reçois cette erreur: non valide instruction SQL; attendus 'SUPPRIMER', 'INSÉRER', 'PROCÉDURE', 'SÉLECTIONNER' ou 'MISE À JOUR'. J'essaie d'insérer dans une base de données d'accès. Des indices sur la façon dont je peux faire fonctionner ce LOAD DATA INFILE?

la même erreur se produit également avec mon BULK INSERT tente

+0

Comme mentionné dans votre autre thread qui est une commande spécifique à MySQL. Vous ne pouvez pas l'utiliser dans MS Access. – Leigh

+0

Vous aurez besoin d'un fichier schema.ini pour charger un fichier avec des délimiteurs non standard dans Access en utilisant SQL, je pense. – Fionnuala

+0

@Remou - C'est ce que je pensais. Quels délimiteurs Access considère-t-elle comme standard: les virgules et les onglets? – Leigh

Répondre

1

(Comme nous l'avons mentionné dans les commentaires, c'est une commande spécifique à MySQL, donc MS Access ne la comprendra pas.)

MS Access est une base de données de bureau. Ses outils ne sont donc pas aussi robustes qu'avec les bases de données d'entreprise. Il prend en charge la lecture dynamique des fichiers CSV en utilisant IN external database. Mais je crois que cela fonctionne uniquement avec les fichiers .csv (et éventuellement délimité par des tabulations). Pour les autres formats, vous devez utiliser un fichier schema.ini.

http://office.microsoft.com/en-us/access-help/select-statement-HP001032265.aspx

INSERT INTO OtherTable (Columns) 
SELECT Columns... 
FROM tableexpression [, ...] [IN externaldatabase] 

En plus de faire un INSERT le long chemin (ligne par ligne), qui est la seule option que je connais pour MS Access.

1

Ce sont des commandes pour MySQL. Vous ne pouvez pas les utiliser pour accéder.