2013-05-29 1 views
0

J'essaie d'utiliser LogParser 2.2 pour essayer de convertir un fichier .csv dans une table SQL, en créant dynamiquement les colonnes après avoir supprimé les caractères non alphanumériques. Lorsque j'utilise la ligne suivante à partir de l'invite de commande, je reçois une erreur:Logparser ne reconnaît pas la commande SQL

logparser "SELECT.RemoveNonAlphaNumCharacters * INTO SQLCounters FROM 'C:\Users\Test\Desktop\SQL_Log_0.csv" -i:CSV -o:SQL -Server:MJNHNX4 -database:PerfMonCounters -driver:"SQL Server" -createtable:ON 

L'erreur que je vois est

Error: Syntax Error: (from-clause): expecting FROM keyword instead of token '*' 

Quel est le problème avec mon conmmand? RemoveNonAlphaNumCharacters est une fonction valide dans la base de données PerfMonCounters.

Répondre

0

La requête SQL que vous donnez à LogParser est exécuté dans le moteur « SQL » interne LogParser et est couru contre le (fichier CSV votre) fichier d'entrée , pas contre la base de données de sortie. La base de données de sortie est simplement écrite avec les résultats de cette requête.

0

Vous pouvez y placer RemoveNonAlphaNumCharacters, cette requête ne s'exécutera pas dans votre base de données, cette requête s'exécutera dans logparser, donc RemoveNonAlphaNumCharacters n'existe pas là. Vous devez exécuter la fonction ultérieurement (vous pouvez passer par paramètre une procédure stockée à exécuter après l'importation dans la base de données) ou supprimer ces caractères à l'aide des fonctions logparser.

0

Je ne trouve aucune référence à 'RemoveNonAlphaNumCharacters' dans "SQL-Like Engine" de LogParser. En lisant la documentation d'accompagnement fournie avec LogParser 2.2, le langage SQL utilisé par LogParser est "l'utilisation d'un dialecte du langage SQL qui inclut des clauses SQL communes". Ce n'est pas exactement SQL. Quand je regarde spécifiquement l'instruction SELECT, il n'y a aucune mention de la méthode que vous utilisez. Comme le suggère Fernando, vous devez supprimer ces caractères en utilisant les fonctions intégrées de LogParser comme 'REPLACE_STR' puisque le SQL est exécuté dans LogParser par son propre moteur.

Bonne chance.

Questions connexes