Question

J'ai une table de base de données sur un serveur de développement qui est maintenant complètement remplie après que je l'ai configurée pour qu'elle s'exécute avec une routine d'importation pour un fichier CSV contenant 1,4 million de lignes.

J'ai exécuté l'assistant de publication de bases de données sur la table et j'ai maintenant un script SQL de 286 Mo sur mon ordinateur local. Le problème est que je n'arrive pas à comprendre comment l'exécuter. Si je le charge dans SQL Server Management Studio Express, une fenêtre d’alerte indiquant "L’opération n’a pas pu être complétée" apparaît.

Avez-vous des idées sur la manière de faire exécuter ce script SQL?

Était-ce utile?

La solution

Exécuter quelque chose d'aussi volumineux dans une transaction unique n'est pas une bonne idée. Par conséquent, je vous recommande de diviser le fichier en morceaux plus petits et plus faciles à gérer.

Une autre option consiste à rechercher d'autres moyens d'importer directement des données CSV.

Autres conseils

utilisez l'outil sqlcmd pour exécuter le fichier ..

sqlcmd -S myServer\instanceName -i C:\myScript.sql

Si vous avez une "erreur de script" inexpliquée, pour les fichiers SQL volumineux (> 100 Mo) comprenant plusieurs actions INSERT, remplacez simplement "INSERT INTO". par " GO INSERT INTO " dans votre fichier, ce qui réduira la taille de la transaction.

Cet outil ( Gestionnaire de fichiers de script SQL Big ) sur CodePlex exécutera un fichier de script de toute taille avec un journal et une interface graphique.

Ajout à la réponse de Gulzar Nazim: Si le problème persiste, essayez de spécifier page de code de votre fichier SQL en utilisant l'option -f :

sqlcmd -S monServeur \ nomInstance -d nom de la base de données -i C: \ myScript.sql -f 65001

J'essayais d'importer un fichier .dump à partir de SQLite (UTF-8 par défaut), et sqlcmd a continué à générer une erreur après avoir rencontré le premier caractère spécial. -f 65001 l'a corrigé pour moi.

Pourquoi ne pas simplement utiliser DTS pour importer le fichier CSV directement?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top