web-dev-qa-db-fra.com

Comment exporter des données d'une feuille de calcul Excel vers un tableau SQL Server 2008

Je veux importer les données d'un fichier Excel - supposons Excel 2003/.xls - vers Sql Server 2008.

J'ai essayé d'ajouter un serveur lié au pilote JET OLE DB Access, et bien sûr, il échoue sur la machine 64 bits. Mais, lorsque j'essaie de supprimer le serveur lié pendant les essais, une autre erreur se produit. dire que le serveur lié existe déjà/existe toujours!

J'ai également essayé de changer le pilote Excel en 32 bits (outil regedit) mais je ne suis pas sûr qu'il fasse quoi que ce soit, la même erreur se prépare!

Quelques détails supplémentaires: Disons que Table1 dans un fichier Excel a 5 colonnes. Je veux mapper à Database.dbo.Table1 avec 5 colonnes encore, mais avec des noms différents dans la table. Y at-il un moyen de faire même une telle importation?

43
Loser Coder

À partir de SQL Server Management Studio, vous ouvrez l'Explorateur d'objets, accédez à la base de données dans laquelle vous souhaitez charger les données, cliquez avec le bouton droit de la souris, puis sélectionnez Tâches> Importer des données.

Cela ouvre l'Assistant Importation de données, qui fonctionne généralement assez bien pour importer à partir d'Excel. Vous pouvez choisir un fichier Excel, choisir la feuille de calcul à partir de laquelle importer des données, choisir la table dans laquelle la stocker et les colonnes. Assez flexible en effet.

Vous pouvez l'exécuter de manière ponctuelle ou l'enregistrer en tant que package SQL Server Integration Services (SSIS) dans votre système de fichiers ou dans SQL Server lui-même, puis l'exécuter à maintes reprises (même si son exécution est planifiée). temps donné, en utilisant SQL Agent).

Mise à jour: oui, oui, oui, vous pouvez faire toutes les choses que vous continuez de demander - avez-vous même essayé au moins une fois d'exécuter ce magicien?

OK, le voici - étape par étape:

Étape 1: choisissez votre source Excel

enter image description here

Étape 2: choisissez votre base de données cible SQL Server

enter image description here

Étape 3: choisissez votre feuille de calcul source (à partir d'Excel) et votre table cible dans votre base de données SQL Server; voir le bouton "Edit Mappings"!

enter image description here

Étape 4: vérifiez (et modifiez, si nécessaire) vos mappages de colonnes Excel en colonnes SQL Server dans la table:

enter image description here

Étape 5: Si vous souhaitez l’utiliser ultérieurement, enregistrez votre package SSIS sur SQL Server:

enter image description here

Étape 6: - succès! Ceci est sur une machine 64 bits, fonctionne comme un charme - faites-le!

86
marc_s

Plusieurs outils peuvent importer Excel vers SQL Server.

J'utilise DbTransfer (http://www.dbtransfer.com/Products/DbTransfer) pour effectuer le travail. Il est principalement axé sur le transfert de données entre des bases de données et Excel, xml, etc.

J'ai déjà essayé la méthode openrowset et l'assistant d'importation/exportation SQL Server. Mais j’ai trouvé que ces méthodes étaient inutiles, compliquées et sujettes aux erreurs, et qu’elles étaient contrastées avec l’un des outils dédiés disponibles.

2
Michael Geller

En guise d'alternative, plusieurs outils Web convertissent les fichiers Excel en fichiers SQL.

https://sqlizer.io produira un fichier de définition de table, suivi de toutes les données sous forme d'instructions d'insertion, puis il sera simplement importé dans SQL Server Management Studio (Fichier> Ouvrir> Fichier ... dans SQL SMS) - ou dans toute autre base de données compatible SQL.

En voici une photo:

SQLizer.io ready to convert xlsx to sql

1
a_good_swan

Dans SQL Server 2016, l'assistant est une application distincte. ( Important : L’expert Excel est seulement disponible dans le Version 32 bits de l'assistant!). Utilisez la page MSDN pour obtenir des instructions:

On the Start menu, point to All Programs, point toMicrosoft SQL Server , and then click Import and Export Data.
—or—
In SQL Server Data Tools (SSDT), right-click the SSIS Packages folder, and then click SSIS Import and Export Wizard.
—or—
In SQL Server Data Tools (SSDT), on the Project menu, click SSIS Import and Export Wizard.
—or—
In SQL Server Management Studio, connect to the Database Engine server type, expand Databases, right-click a database, point to Tasks, and then click Import Data or Export data.
—or—
In a command Prompt window, run DTSWizard.exe, located in C:\Program Files\Microsoft SQL Server\100\DTS\Binn.

Après cela, il devrait être à peu près le même (éventuellement avec de légères variations de l'interface utilisateur) que dans la réponse de @ marc_s.

1
Nikita G.